#ifndef MODBUSCONTROL_H
#define MODBUSCONTROL_H

#include <QByteArray>
#include <QDate>
#include <QModbusClient>
#include <QModbusDataUnit>
#include <QModbusDevice>
#include <QModbusRequest>
#include <QModbusRtuSerialClient>
#include <QMutex>
#include <QSerialPort>
#include <QStringList>
#include <QTime>
#include <QTimer>

class ModbusControl : public QObject
{
    Q_OBJECT

    // PLC 版本号 [定时器轮询]
    Q_PROPERTY(QString PLC_Version_Code READ PLC_Version_Code WRITE setPLC_Version_Code NOTIFY
                   PLC_Version_CodeChanged FINAL)
    // PLC 连接状态
    Q_PROPERTY(bool PLC_ConnectState READ PLC_ConnectState WRITE setPLC_ConnectState NOTIFY
                   PLC_ConnectStateChanged FINAL)

    // PLC 右机头当前位置  D196 [定时器轮询]
    Q_PROPERTY(QString Current_Location READ Current_Location WRITE setCurrent_Location NOTIFY
                   Current_LocationChanged FINAL)
    // 电机旋钮位置 D229
    Q_PROPERTY(QString Mechine_Saws_Mode READ Mechine_Saws_Mode WRITE setMechine_Saws_Mode NOTIFY
                   Mechine_Saws_ModeChanged FINAL)

    // 手动操作界面 - 各项数据
    // 手动料高测量值 D106 [定时器轮询]
    Q_PROPERTY(QString MaterialHeightObserveValue READ MaterialHeightObserveValue WRITE
                   setMaterialHeightObserveValue NOTIFY MaterialHeightObserveValueChanged FINAL)
    // 原点值 D210
    Q_PROPERTY(
        QString OriginValue READ OriginValue WRITE setOriginValue NOTIFY OriginValueChanged FINAL)
    // 手动料长 D212
    Q_PROPERTY(QString MaterialLength_NormalProcess READ MaterialLength_NormalProcess WRITE
                   setMaterialLength_NormalProcess NOTIFY MaterialLength_NormalProcessChanged FINAL)
    // 手动料高 D214
    Q_PROPERTY(QString MaterialHeight_NormalProcess READ MaterialHeight_NormalProcess WRITE
                   setMaterialHeight_NormalProcess NOTIFY MaterialHeight_NormalProcessChanged FINAL)
    // 最大切割长度 D216
    // Max_Cut_Length
    // 锯片模式 D229
    Q_PROPERTY(int SawsMode READ SawsMode WRITE setSawsMode NOTIFY SawsModeChanged FINAL)
    // 手动加工段数 D230
    Q_PROPERTY(QString CutSegments_NormalProcess READ CutSegments_NormalProcess WRITE
                   setCutSegments_NormalProcess NOTIFY CutSegments_NormalProcessChanged FINAL)
    // 当前加工段数 D231 [定时器轮询]
    Q_PROPERTY(QString CurrentCutSegments_NormalProcess READ CurrentCutSegments_NormalProcess WRITE
                   setCurrentCutSegments_NormalProcess NOTIFY
                       CurrentCutSegments_NormalProcessChanged FINAL)

    // 超长加工界面 - 各项参数
    // 手动料高 D214  MaterialHeight_NormalProcess
    // 超长料长 D226
    Q_PROPERTY(QString ExtraLong_MaterialLength READ ExtraLong_MaterialLength WRITE
                   setExtraLong_MaterialLength NOTIFY ExtraLong_MaterialLengthChanged FINAL)
    // 超长补偿 D1382
    Q_PROPERTY(QString ExtraLong_MaterialLength_Compensate READ ExtraLong_MaterialLength_Compensate
                   WRITE setExtraLong_MaterialLength_Compensate NOTIFY
                       ExtraLong_MaterialLength_CompensateChanged FINAL)
    // 当前段数 D231 CurrentCutSegments_NormalProcess

    // 超短加工界面 - 各项参数
    // 手动料高 D214 MaterialHeight_NormalProcess
    // 超短料长 D224
    Q_PROPERTY(QString ExtraShort_MaterialLength READ ExtraShort_MaterialLength WRITE
                   setExtraShort_MaterialLength NOTIFY ExtraShort_MaterialLengthChanged FINAL)
    // 超短补偿 D1380
    Q_PROPERTY(QString ExtraShort_Compensate READ ExtraShort_Compensate WRITE
                   setExtraShort_Compensate NOTIFY ExtraShort_CompensateChanged FINAL)
    // 回拉距离 D1390
    Q_PROPERTY(QString Pull_Back_Distance READ Pull_Back_Distance WRITE setPull_Back_Distance NOTIFY
                   Pull_Back_DistanceChanged FINAL)

    // 角码加工界面 - 各项参数
    // 角码原料长度 D1276
    Q_PROPERTY(QString Corner_MaterialLength READ Corner_MaterialLength WRITE
                   setCorner_MaterialLength NOTIFY Corner_MaterialLengthChanged FINAL)
    // 最短料长 D1292
    Q_PROPERTY(QString Corner_MaterialLength_Min READ Corner_MaterialLength_Min WRITE
                   setCorner_MaterialLength_Min NOTIFY Corner_MaterialLength_MinChanged FINAL)
    // 角码长度 D1272
    Q_PROPERTY(QString Corner_Length READ Corner_Length WRITE setCorner_Length NOTIFY
                   Corner_LengthChanged FINAL)
    // 角码段数 D228  [INT 16]
    Q_PROPERTY(QString Corner_Cut_Segments READ Corner_Cut_Segments WRITE setCorner_Cut_Segments
                   NOTIFY Corner_Cut_SegmentsChanged FINAL)
    // 刀  补  D1274
    Q_PROPERTY(QString Corner_Knife_Compensate READ Corner_Knife_Compensate WRITE
                   setCorner_Knife_Compensate NOTIFY Corner_Knife_CompensateChanged FINAL)
    // 当前角码段数 D1270 [INT 16]
    Q_PROPERTY(QString Current_Corner_Segments READ Current_Corner_Segments WRITE
                   setCurrent_Corner_Segments NOTIFY Current_Corner_SegmentsChanged FINAL)
    // 累计角码段数 D1271 [INT 16]
    Q_PROPERTY(QString Worked_Corner_Segments READ Worked_Corner_Segments WRITE
                   setWorked_Corner_Segments NOTIFY Worked_Corner_SegmentsChanged FINAL)

    // 拉手加工界面 - 各项参数
    // 手动料高 D214
    // 手动料长 D212
    // 手动加工段数 D230 [INT 16]
    // 拉手位置 D282
    Q_PROPERTY(QString Handle_Location READ Handle_Location WRITE setHandle_Location NOTIFY
                   Handle_LocationChanged FINAL)
    // 拉手定位补偿 D378
    Q_PROPERTY(QString Handle_Location_Compensate READ Handle_Location_Compensate WRITE
                   setHandle_Location_Compensate NOTIFY Handle_Location_CompensateChanged FINAL)
    // 拉手宽度 D284
    Q_PROPERTY(QString Handle_Width READ Handle_Width WRITE setHandle_Width NOTIFY
                   Handle_WidthChanged FINAL)

    // 参数设置界面 - 设备参数
    // 原点值 D210  OriginValue
    // 手动速度 D1392
    Q_PROPERTY(QString Manual_Location_Speed READ Manual_Location_Speed WRITE
                   setManual_Location_Speed NOTIFY Manual_Location_SpeedChanged FINAL)
    // 左锯工进时间 D232
    Q_PROPERTY(QString LeftSaws_OutTime READ LeftSaws_OutTime WRITE setLeftSaws_OutTime NOTIFY
                   LeftSaws_OutTimeChanged FINAL)
    // 左锯45度补偿 D670
    Q_PROPERTY(QString LeftSaws_45_Compensate READ LeftSaws_45_Compensate WRITE
                   setLeftSaws_45_Compensate NOTIFY LeftSaws_45_CompensateChanged FINAL)
    // 料高检测时间 D1288
    Q_PROPERTY(QString Material_Height_Observe_Time READ Material_Height_Observe_Time WRITE
                   setMaterial_Height_Observe_Time NOTIFY Material_Height_Observe_TimeChanged FINAL)
    // 料高磁尺当量 D1290
    Q_PROPERTY(QString Material_Height_Ruler_Scale READ Material_Height_Ruler_Scale WRITE
                   setMaterial_Height_Ruler_Scale NOTIFY Material_Height_Ruler_ScaleChanged FINAL)
    // 测料高基准值 D680
    Q_PROPERTY(QString Material_Height_Observe_Base READ Material_Height_Observe_Base WRITE
                   setMaterial_Height_Observe_Base NOTIFY Material_Height_Observe_BaseChanged FINAL)

    // 压紧动作时间 D1280
    Q_PROPERTY(QString ImpactActiveTime READ ImpactActiveTime WRITE setImpactActiveTime NOTIFY
                   ImpactActiveTimeChanged FINAL)
    // 定位速度 D206
    Q_PROPERTY(QString Auto_Location_Speed READ Auto_Location_Speed WRITE setAuto_Location_Speed
                   NOTIFY Auto_Location_SpeedChanged FINAL)
    // 右锯工进时间 D234
    Q_PROPERTY(QString RightSaws_OutTime READ RightSaws_OutTime WRITE setRightSaws_OutTime NOTIFY
                   RightSaws_OutTimeChanged FINAL)
    // 右锯45度补偿 D672
    Q_PROPERTY(QString RightSaws_45_Compensate READ RightSaws_45_Compensate WRITE
                   setRightSaws_45_Compensate NOTIFY RightSaws_45_CompensateChanged FINAL)
    // 左右吹气时间 D374 [16]
    Q_PROPERTY(QString Left_Right_Blow_Time READ Left_Right_Blow_Time WRITE setLeft_Right_Blow_Time
                   NOTIFY Left_Right_Blow_TimeChanged FINAL)
    // 45度安全位置 D1394
    Q_PROPERTY(QString Safe_Distance_45 READ Safe_Distance_45 WRITE setSafe_Distance_45 NOTIFY
                   Safe_Distance_45Changed FINAL)
    // 电磁阀断电延时 D238
    Q_PROPERTY(
        QString Electric_Valve_Power_Off_Time READ Electric_Valve_Power_Off_Time WRITE
            setElectric_Valve_Power_Off_Time NOTIFY Electric_Valve_Power_Off_TimeChanged FINAL)

    // 参数设置界面 - 伺服参数
    // 每转脉冲数 D200
    Q_PROPERTY(QString Per_Rotation_Pulse READ Per_Rotation_Pulse WRITE setPer_Rotation_Pulse NOTIFY
                   Per_Rotation_PulseChanged FINAL)
    // 最大切割长度 D216
    Q_PROPERTY(QString Max_Cut_Length READ Max_Cut_Length WRITE setMax_Cut_Length NOTIFY
                   Max_Cut_LengthChanged FINAL)
    // 找零点高速 D220
    Q_PROPERTY(QString Find_Zero_High_Speed READ Find_Zero_High_Speed WRITE setFind_Zero_High_Speed
                   NOTIFY Find_Zero_High_SpeedChanged FINAL)
    // 加减速时间 D208 [INT 16]
    Q_PROPERTY(QString Acc_Dec_Time READ Acc_Dec_Time WRITE setAcc_Dec_Time NOTIFY
                   Acc_Dec_TimeChanged FINAL)
    // 刹车打开时间 D1278
    Q_PROPERTY(QString Brake_Open_Time READ Brake_Open_Time WRITE setBrake_Open_Time NOTIFY
                   Brake_Open_TimeChanged FINAL)

    // 每转位移量 D202
    Q_PROPERTY(QString Per_Rotation_Distance READ Per_Rotation_Distance WRITE
                   setPer_Rotation_Distance NOTIFY Per_Rotation_DistanceChanged FINAL)
    // 反向软限位 D218
    Q_PROPERTY(QString Reverse_Soft_Limit READ Reverse_Soft_Limit WRITE setReverse_Soft_Limit NOTIFY
                   Reverse_Soft_LimitChanged FINAL)
    // 找零点低速 D222
    Q_PROPERTY(QString Find_Zero_Low_Speed READ Find_Zero_Low_Speed WRITE setFind_Zero_Low_Speed
                   NOTIFY Find_Zero_Low_SpeedChanged FINAL)
    // 刹车关闭延时 D602 [INT 16]
    Q_PROPERTY(QString Brake_Close_Delay READ Brake_Close_Delay WRITE setBrake_Close_Delay NOTIFY
                   Brake_Close_DelayChanged FINAL)
    // 电机位置 D2 [定时器轮询]
    Q_PROPERTY(
        QString Core_Number READ Core_Number WRITE setCore_Number NOTIFY Core_NumberChanged FINAL)

    // 参数设置界面 - 托料架参数
    // 托料架安全距离 D612
    Q_PROPERTY(QString Bracket_Safe_Distance READ Bracket_Safe_Distance WRITE
                   setBracket_Safe_Distance NOTIFY Bracket_Safe_DistanceChanged FINAL)
    // 前托料架触发点 D1294
    Q_PROPERTY(QString Bracket_Front_Location READ Bracket_Front_Location WRITE
                   setBracket_Front_Location NOTIFY Bracket_Front_LocationChanged FINAL)
    // 中托料架下限 D296
    Q_PROPERTY(QString Bracket_Mid_Min READ Bracket_Mid_Min WRITE setBracket_Mid_Min NOTIFY
                   Bracket_Mid_MinChanged FINAL)
    // 中托料架上限 D1296
    Q_PROPERTY(QString Bracket_Mid_Max READ Bracket_Mid_Max WRITE setBracket_Mid_Max NOTIFY
                   Bracket_Mid_MaxChanged FINAL)
    // 后托料架触发点 D1298
    Q_PROPERTY(QString Bracket_Back_Location READ Bracket_Back_Location WRITE
                   setBracket_Back_Location NOTIFY Bracket_Back_LocationChanged FINAL)

    // 参数设置界面 - 位置补偿参数
    // 位置补偿1 D1302
    Q_PROPERTY(QString Location_Compensate_1 READ Location_Compensate_1 WRITE
                   setLocation_Compensate_1 NOTIFY Location_Compensate_1Changed FINAL)
    // 位置补偿2
    Q_PROPERTY(QString Location_Compensate_2 READ Location_Compensate_2 WRITE
                   setLocation_Compensate_2 NOTIFY Location_Compensate_2Changed FINAL)
    // 位置补偿3
    Q_PROPERTY(QString Location_Compensate_3 READ Location_Compensate_3 WRITE
                   setLocation_Compensate_3 NOTIFY Location_Compensate_3Changed FINAL)
    // 位置补偿4
    Q_PROPERTY(QString Location_Compensate_4 READ Location_Compensate_4 WRITE
                   setLocation_Compensate_4 NOTIFY Location_Compensate_4Changed FINAL)
    // 位置补偿5
    Q_PROPERTY(QString Location_Compensate_5 READ Location_Compensate_5 WRITE
                   setLocation_Compensate_5 NOTIFY Location_Compensate_5Changed FINAL)
    // 位置补偿6
    Q_PROPERTY(QString Location_Compensate_6 READ Location_Compensate_6 WRITE
                   setLocation_Compensate_6 NOTIFY Location_Compensate_6Changed FINAL)
    // 位置补偿7
    Q_PROPERTY(QString Location_Compensate_7 READ Location_Compensate_7 WRITE
                   setLocation_Compensate_7 NOTIFY Location_Compensate_7Changed FINAL)
    // 位置补偿8
    Q_PROPERTY(QString Location_Compensate_8 READ Location_Compensate_8 WRITE
                   setLocation_Compensate_8 NOTIFY Location_Compensate_8Changed FINAL)
    // 位置补偿9
    Q_PROPERTY(QString Location_Compensate_9 READ Location_Compensate_9 WRITE
                   setLocation_Compensate_9 NOTIFY Location_Compensate_9Changed FINAL)
    // 位置补偿10
    Q_PROPERTY(QString Location_Compensate_10 READ Location_Compensate_10 WRITE
                   setLocation_Compensate_10 NOTIFY Location_Compensate_10Changed FINAL)
    // 位置补偿11
    Q_PROPERTY(QString Location_Compensate_11 READ Location_Compensate_11 WRITE
                   setLocation_Compensate_11 NOTIFY Location_Compensate_11Changed FINAL)
    // 位置补偿12
    Q_PROPERTY(QString Location_Compensate_12 READ Location_Compensate_12 WRITE
                   setLocation_Compensate_12 NOTIFY Location_Compensate_12Changed FINAL)
    // 位置补偿13
    Q_PROPERTY(QString Location_Compensate_13 READ Location_Compensate_13 WRITE
                   setLocation_Compensate_13 NOTIFY Location_Compensate_13Changed FINAL)
    // 位置补偿14
    Q_PROPERTY(QString Location_Compensate_14 READ Location_Compensate_14 WRITE
                   setLocation_Compensate_14 NOTIFY Location_Compensate_14Changed FINAL)
    // 位置补偿15
    Q_PROPERTY(QString Location_Compensate_15 READ Location_Compensate_15 WRITE
                   setLocation_Compensate_15 NOTIFY Location_Compensate_15Changed FINAL)
    // 位置补偿16
    Q_PROPERTY(QString Location_Compensate_16 READ Location_Compensate_16 WRITE
                   setLocation_Compensate_16 NOTIFY Location_Compensate_16Changed FINAL)
    // 位置补偿17
    Q_PROPERTY(QString Location_Compensate_17 READ Location_Compensate_17 WRITE
                   setLocation_Compensate_17 NOTIFY Location_Compensate_17Changed FINAL)
    // 位置补偿18
    Q_PROPERTY(QString Location_Compensate_18 READ Location_Compensate_18 WRITE
                   setLocation_Compensate_18 NOTIFY Location_Compensate_18Changed FINAL)
    // 位置补偿19
    Q_PROPERTY(QString Location_Compensate_19 READ Location_Compensate_19 WRITE
                   setLocation_Compensate_19 NOTIFY Location_Compensate_19Changed FINAL)
    // 位置补偿20
    Q_PROPERTY(QString Location_Compensate_20 READ Location_Compensate_20 WRITE
                   setLocation_Compensate_20 NOTIFY Location_Compensate_20Changed FINAL)
    // 位置补偿21
    Q_PROPERTY(QString Location_Compensate_21 READ Location_Compensate_21 WRITE
                   setLocation_Compensate_21 NOTIFY Location_Compensate_21Changed FINAL)
    // 位置补偿22
    Q_PROPERTY(QString Location_Compensate_22 READ Location_Compensate_22 WRITE
                   setLocation_Compensate_22 NOTIFY Location_Compensate_22Changed FINAL)
    // 位置补偿23
    Q_PROPERTY(QString Location_Compensate_23 READ Location_Compensate_23 WRITE
                   setLocation_Compensate_23 NOTIFY Location_Compensate_23Changed FINAL)
    // 位置补偿24
    Q_PROPERTY(QString Location_Compensate_24 READ Location_Compensate_24 WRITE
                   setLocation_Compensate_24 NOTIFY Location_Compensate_24Changed FINAL)
    // 位置补偿25
    Q_PROPERTY(QString Location_Compensate_25 READ Location_Compensate_25 WRITE
                   setLocation_Compensate_25 NOTIFY Location_Compensate_25Changed FINAL)
    // 位置补偿26
    Q_PROPERTY(QString Location_Compensate_26 READ Location_Compensate_26 WRITE
                   setLocation_Compensate_26 NOTIFY Location_Compensate_26Changed FINAL)
    // 位置补偿27
    Q_PROPERTY(QString Location_Compensate_27 READ Location_Compensate_27 WRITE
                   setLocation_Compensate_27 NOTIFY Location_Compensate_27Changed FINAL)
    // 位置补偿28 // 暂时没有绑定
    Q_PROPERTY(QString Location_Compensate_28 READ Location_Compensate_28 WRITE
                   setLocation_Compensate_28 NOTIFY Location_Compensate_28Changed FINAL)
    // 位置补偿29 // 暂时没有绑定
    Q_PROPERTY(QString Location_Compensate_29 READ Location_Compensate_29 WRITE
                   setLocation_Compensate_29 NOTIFY Location_Compensate_29Changed FINAL)
    // 摆角专补 - 下限 D1374
    Q_PROPERTY(QString Swing_Corner_Compensate_Min READ Swing_Corner_Compensate_Min WRITE
                   setSwing_Corner_Compensate_Min NOTIFY Swing_Corner_Compensate_MinChanged FINAL)
    // 摆角专补 - 上限 D1376
    Q_PROPERTY(QString Swing_Corner_Compensate_Max READ Swing_Corner_Compensate_Max WRITE
                   setSwing_Corner_Compensate_Max NOTIFY Swing_Corner_Compensate_MaxChanged FINAL)
    // 摆角专补 - 补偿值 D1378
    Q_PROPERTY(QString Swing_Corner_Compensate READ Swing_Corner_Compensate WRITE
                   setSwing_Corner_Compensate NOTIFY Swing_Corner_CompensateChanged FINAL)
    // 手动料长 D212 MaterialLength_NormalProcess

    // 参数设置界面 - 任意位置补偿参数
    // 补偿下限1
    Q_PROPERTY(
        QString Any_Location_Compensate_1_Min READ Any_Location_Compensate_1_Min WRITE
            setAny_Location_Compensate_1_Min NOTIFY Any_Location_Compensate_1_MinChanged FINAL)
    // 补偿上限1
    Q_PROPERTY(
        QString Any_Location_Compensate_1_Max READ Any_Location_Compensate_1_Max WRITE
            setAny_Location_Compensate_1_Max NOTIFY Any_Location_Compensate_1_MaxChanged FINAL)
    // 补偿值1
    Q_PROPERTY(QString Any_Location_Compensate_1 READ Any_Location_Compensate_1 WRITE
                   setAny_Location_Compensate_1 NOTIFY Any_Location_Compensate_1Changed FINAL)
    // 补偿下限2
    Q_PROPERTY(
        QString Any_Location_Compensate_2_Min READ Any_Location_Compensate_2_Min WRITE
            setAny_Location_Compensate_2_Min NOTIFY Any_Location_Compensate_2_MinChanged FINAL)
    // 补偿上限2
    Q_PROPERTY(
        QString Any_Location_Compensate_2_Max READ Any_Location_Compensate_2_Max WRITE
            setAny_Location_Compensate_2_Max NOTIFY Any_Location_Compensate_2_MaxChanged FINAL)
    // 补偿值2
    Q_PROPERTY(QString Any_Location_Compensate_2 READ Any_Location_Compensate_2 WRITE
                   setAny_Location_Compensate_2 NOTIFY Any_Location_Compensate_2Changed FINAL)
    // 补偿下限3
    Q_PROPERTY(
        QString Any_Location_Compensate_3_Min READ Any_Location_Compensate_3_Min WRITE
            setAny_Location_Compensate_3_Min NOTIFY Any_Location_Compensate_3_MinChanged FINAL)
    // 补偿上限3
    Q_PROPERTY(
        QString Any_Location_Compensate_3_Max READ Any_Location_Compensate_3_Max WRITE
            setAny_Location_Compensate_3_Max NOTIFY Any_Location_Compensate_3_MaxChanged FINAL)
    // 补偿值3
    Q_PROPERTY(QString Any_Location_Compensate_3 READ Any_Location_Compensate_3 WRITE
                   setAny_Location_Compensate_3 NOTIFY Any_Location_Compensate_3Changed FINAL)
    // 补偿下限4
    Q_PROPERTY(
        QString Any_Location_Compensate_4_Min READ Any_Location_Compensate_4_Min WRITE
            setAny_Location_Compensate_4_Min NOTIFY Any_Location_Compensate_4_MinChanged FINAL)
    // 补偿上限4
    Q_PROPERTY(
        QString Any_Location_Compensate_4_Max READ Any_Location_Compensate_4_Max WRITE
            setAny_Location_Compensate_4_Max NOTIFY Any_Location_Compensate_4_MaxChanged FINAL)
    // 补偿值4
    Q_PROPERTY(QString Any_Location_Compensate_4 READ Any_Location_Compensate_4 WRITE
                   setAny_Location_Compensate_4 NOTIFY Any_Location_Compensate_4Changed FINAL)
    // 补偿下限5
    Q_PROPERTY(
        QString Any_Location_Compensate_5_Min READ Any_Location_Compensate_5_Min WRITE
            setAny_Location_Compensate_5_Min NOTIFY Any_Location_Compensate_5_MinChanged FINAL)
    // 补偿上限5
    Q_PROPERTY(
        QString Any_Location_Compensate_5_Max READ Any_Location_Compensate_5_Max WRITE
            setAny_Location_Compensate_5_Max NOTIFY Any_Location_Compensate_5_MaxChanged FINAL)
    // 补偿值5
    Q_PROPERTY(QString Any_Location_Compensate_5 READ Any_Location_Compensate_5 WRITE
                   setAny_Location_Compensate_5 NOTIFY Any_Location_Compensate_5Changed FINAL)
    // 补偿下限6
    Q_PROPERTY(
        QString Any_Location_Compensate_6_Min READ Any_Location_Compensate_6_Min WRITE
            setAny_Location_Compensate_6_Min NOTIFY Any_Location_Compensate_6_MinChanged FINAL)
    // 补偿上限6
    Q_PROPERTY(
        QString Any_Location_Compensate_6_Max READ Any_Location_Compensate_6_Max WRITE
            setAny_Location_Compensate_6_Max NOTIFY Any_Location_Compensate_6_MaxChanged FINAL)
    // 补偿值6
    Q_PROPERTY(QString Any_Location_Compensate_6 READ Any_Location_Compensate_6 WRITE
                   setAny_Location_Compensate_6 NOTIFY Any_Location_Compensate_6Changed FINAL)
    // 补偿下限7
    Q_PROPERTY(
        QString Any_Location_Compensate_7_Min READ Any_Location_Compensate_7_Min WRITE
            setAny_Location_Compensate_7_Min NOTIFY Any_Location_Compensate_7_MinChanged FINAL)
    // 补偿上限7
    Q_PROPERTY(
        QString Any_Location_Compensate_7_Max READ Any_Location_Compensate_7_Max WRITE
            setAny_Location_Compensate_7_Max NOTIFY Any_Location_Compensate_7_MaxChanged FINAL)
    // 补偿值7
    Q_PROPERTY(QString Any_Location_Compensate_7 READ Any_Location_Compensate_7 WRITE
                   setAny_Location_Compensate_7 NOTIFY Any_Location_Compensate_7Changed FINAL)
    // 补偿下限8
    Q_PROPERTY(
        QString Any_Location_Compensate_8_Min READ Any_Location_Compensate_8_Min WRITE
            setAny_Location_Compensate_8_Min NOTIFY Any_Location_Compensate_8_MinChanged FINAL)
    // 补偿上限8
    Q_PROPERTY(
        QString Any_Location_Compensate_8_Max READ Any_Location_Compensate_8_Max WRITE
            setAny_Location_Compensate_8_Max NOTIFY Any_Location_Compensate_8_MaxChanged FINAL)
    // 补偿值8
    Q_PROPERTY(QString Any_Location_Compensate_8 READ Any_Location_Compensate_8 WRITE
                   setAny_Location_Compensate_8 NOTIFY Any_Location_Compensate_8Changed FINAL)
    // 补偿下限9
    Q_PROPERTY(
        QString Any_Location_Compensate_9_Min READ Any_Location_Compensate_9_Min WRITE
            setAny_Location_Compensate_9_Min NOTIFY Any_Location_Compensate_9_MinChanged FINAL)
    // 补偿上限9
    Q_PROPERTY(
        QString Any_Location_Compensate_9_Max READ Any_Location_Compensate_9_Max WRITE
            setAny_Location_Compensate_9_Max NOTIFY Any_Location_Compensate_9_MaxChanged FINAL)
    // 补偿值9
    Q_PROPERTY(QString Any_Location_Compensate_9 READ Any_Location_Compensate_9 WRITE
                   setAny_Location_Compensate_9 NOTIFY Any_Location_Compensate_9Changed FINAL)
    // 补偿下限10
    Q_PROPERTY(
        QString Any_Location_Compensate_10_Min READ Any_Location_Compensate_10_Min WRITE
            setAny_Location_Compensate_10_Min NOTIFY Any_Location_Compensate_10_MinChanged FINAL)
    // 补偿上限10
    Q_PROPERTY(
        QString Any_Location_Compensate_10_Max READ Any_Location_Compensate_10_Max WRITE
            setAny_Location_Compensate_10_Max NOTIFY Any_Location_Compensate_10_MaxChanged FINAL)
    // 补偿值10
    Q_PROPERTY(QString Any_Location_Compensate_10 READ Any_Location_Compensate_10 WRITE
                   setAny_Location_Compensate_10 NOTIFY Any_Location_Compensate_10Changed FINAL)
    // 补偿下限11
    Q_PROPERTY(
        QString Any_Location_Compensate_11_Min READ Any_Location_Compensate_11_Min WRITE
            setAny_Location_Compensate_11_Min NOTIFY Any_Location_Compensate_11_MinChanged FINAL)
    // 补偿上限11
    Q_PROPERTY(
        QString Any_Location_Compensate_11_Max READ Any_Location_Compensate_11_Max WRITE
            setAny_Location_Compensate_11_Max NOTIFY Any_Location_Compensate_11_MaxChanged FINAL)
    // 补偿值11
    Q_PROPERTY(QString Any_Location_Compensate_11 READ Any_Location_Compensate_11 WRITE
                   setAny_Location_Compensate_11 NOTIFY Any_Location_Compensate_11Changed FINAL)
    // 补偿下限12
    Q_PROPERTY(
        QString Any_Location_Compensate_12_Min READ Any_Location_Compensate_12_Min WRITE
            setAny_Location_Compensate_12_Min NOTIFY Any_Location_Compensate_12_MinChanged FINAL)
    // 补偿上限12
    Q_PROPERTY(
        QString Any_Location_Compensate_12_Max READ Any_Location_Compensate_12_Max WRITE
            setAny_Location_Compensate_12_Max NOTIFY Any_Location_Compensate_12_MaxChanged FINAL)
    // 补偿值12
    Q_PROPERTY(QString Any_Location_Compensate_12 READ Any_Location_Compensate_12 WRITE
                   setAny_Location_Compensate_12 NOTIFY Any_Location_Compensate_12Changed FINAL)
    // 补偿下限13
    Q_PROPERTY(
        QString Any_Location_Compensate_13_Min READ Any_Location_Compensate_13_Min WRITE
            setAny_Location_Compensate_13_Min NOTIFY Any_Location_Compensate_13_MinChanged FINAL)
    // 补偿上限13
    Q_PROPERTY(
        QString Any_Location_Compensate_13_Max READ Any_Location_Compensate_13_Max WRITE
            setAny_Location_Compensate_13_Max NOTIFY Any_Location_Compensate_13_MaxChanged FINAL)
    // 补偿值13
    Q_PROPERTY(QString Any_Location_Compensate_13 READ Any_Location_Compensate_13 WRITE
                   setAny_Location_Compensate_13 NOTIFY Any_Location_Compensate_13Changed FINAL)
    // 补偿下限14
    Q_PROPERTY(
        QString Any_Location_Compensate_14_Min READ Any_Location_Compensate_14_Min WRITE
            setAny_Location_Compensate_14_Min NOTIFY Any_Location_Compensate_14_MinChanged FINAL)
    // 补偿上限14
    Q_PROPERTY(
        QString Any_Location_Compensate_14_Max READ Any_Location_Compensate_14_Max WRITE
            setAny_Location_Compensate_14_Max NOTIFY Any_Location_Compensate_14_MaxChanged FINAL)
    // 补偿值14
    Q_PROPERTY(QString Any_Location_Compensate_14 READ Any_Location_Compensate_14 WRITE
                   setAny_Location_Compensate_14 NOTIFY Any_Location_Compensate_14Changed FINAL)
    // 补偿下限15
    Q_PROPERTY(
        QString Any_Location_Compensate_15_Min READ Any_Location_Compensate_15_Min WRITE
            setAny_Location_Compensate_15_Min NOTIFY Any_Location_Compensate_15_MinChanged FINAL)
    // 补偿上限15
    Q_PROPERTY(
        QString Any_Location_Compensate_15_Max READ Any_Location_Compensate_15_Max WRITE
            setAny_Location_Compensate_15_Max NOTIFY Any_Location_Compensate_15_MaxChanged FINAL)
    // 补偿值15
    Q_PROPERTY(QString Any_Location_Compensate_15 READ Any_Location_Compensate_15 WRITE
                   setAny_Location_Compensate_15 NOTIFY Any_Location_Compensate_15Changed FINAL)
    // 补偿下限16
    Q_PROPERTY(
        QString Any_Location_Compensate_16_Min READ Any_Location_Compensate_16_Min WRITE
            setAny_Location_Compensate_16_Min NOTIFY Any_Location_Compensate_16_MinChanged FINAL)
    // 补偿上限16
    Q_PROPERTY(
        QString Any_Location_Compensate_16_Max READ Any_Location_Compensate_16_Max WRITE
            setAny_Location_Compensate_16_Max NOTIFY Any_Location_Compensate_16_MaxChanged FINAL)
    // 补偿值16
    Q_PROPERTY(QString Any_Location_Compensate_16 READ Any_Location_Compensate_16 WRITE
                   setAny_Location_Compensate_16 NOTIFY Any_Location_Compensate_16Changed FINAL)
    // 补偿下限17
    Q_PROPERTY(
        QString Any_Location_Compensate_17_Min READ Any_Location_Compensate_17_Min WRITE
            setAny_Location_Compensate_17_Min NOTIFY Any_Location_Compensate_17_MinChanged FINAL)
    // 补偿上限17
    Q_PROPERTY(
        QString Any_Location_Compensate_17_Max READ Any_Location_Compensate_17_Max WRITE
            setAny_Location_Compensate_17_Max NOTIFY Any_Location_Compensate_17_MaxChanged FINAL)
    // 补偿值17
    Q_PROPERTY(QString Any_Location_Compensate_17 READ Any_Location_Compensate_17 WRITE
                   setAny_Location_Compensate_17 NOTIFY Any_Location_Compensate_17Changed FINAL)
    // 补偿下限18
    Q_PROPERTY(
        QString Any_Location_Compensate_18_Min READ Any_Location_Compensate_18_Min WRITE
            setAny_Location_Compensate_18_Min NOTIFY Any_Location_Compensate_18_MinChanged FINAL)
    // 补偿上限18
    Q_PROPERTY(
        QString Any_Location_Compensate_18_Max READ Any_Location_Compensate_18_Max WRITE
            setAny_Location_Compensate_18_Max NOTIFY Any_Location_Compensate_18_MaxChanged FINAL)
    // 补偿值18
    Q_PROPERTY(QString Any_Location_Compensate_18 READ Any_Location_Compensate_18 WRITE
                   setAny_Location_Compensate_18 NOTIFY Any_Location_Compensate_18Changed FINAL)
    // 补偿下限19
    Q_PROPERTY(
        QString Any_Location_Compensate_19_Min READ Any_Location_Compensate_19_Min WRITE
            setAny_Location_Compensate_19_Min NOTIFY Any_Location_Compensate_19_MinChanged FINAL)
    // 补偿上限19
    Q_PROPERTY(
        QString Any_Location_Compensate_19_Max READ Any_Location_Compensate_19_Max WRITE
            setAny_Location_Compensate_19_Max NOTIFY Any_Location_Compensate_19_MaxChanged FINAL)
    // 补偿值19
    Q_PROPERTY(QString Any_Location_Compensate_19 READ Any_Location_Compensate_19 WRITE
                   setAny_Location_Compensate_19 NOTIFY Any_Location_Compensate_19Changed FINAL)
    // 补偿下限20
    Q_PROPERTY(
        QString Any_Location_Compensate_20_Min READ Any_Location_Compensate_20_Min WRITE
            setAny_Location_Compensate_20_Min NOTIFY Any_Location_Compensate_20_MinChanged FINAL)
    // 补偿上限20
    Q_PROPERTY(
        QString Any_Location_Compensate_20_Max READ Any_Location_Compensate_20_Max WRITE
            setAny_Location_Compensate_20_Max NOTIFY Any_Location_Compensate_20_MaxChanged FINAL)
    // 补偿值20
    Q_PROPERTY(QString Any_Location_Compensate_20 READ Any_Location_Compensate_20 WRITE
                   setAny_Location_Compensate_20 NOTIFY Any_Location_Compensate_20Changed FINAL)

    // IO监控  13312
    Q_PROPERTY(bool X0 READ X0 WRITE setX0 NOTIFY X0Changed FINAL)
    Q_PROPERTY(bool X1 READ X1 WRITE setX1 NOTIFY X1Changed FINAL)
    Q_PROPERTY(bool X2 READ X2 WRITE setX2 NOTIFY X2Changed FINAL)
    Q_PROPERTY(bool X3 READ X3 WRITE setX3 NOTIFY X3Changed FINAL)
    Q_PROPERTY(bool X4 READ X4 WRITE setX4 NOTIFY X4Changed FINAL)
    Q_PROPERTY(bool X5 READ X5 WRITE setX5 NOTIFY X5Changed FINAL)
    Q_PROPERTY(bool X6 READ X6 WRITE setX6 NOTIFY X6Changed FINAL)
    Q_PROPERTY(bool X7 READ X7 WRITE setX7 NOTIFY X7Changed FINAL)
    Q_PROPERTY(bool X10 READ X10 WRITE setX10 NOTIFY X10Changed FINAL)
    Q_PROPERTY(bool X11 READ X11 WRITE setX11 NOTIFY X11Changed FINAL)
    Q_PROPERTY(bool X12 READ X12 WRITE setX12 NOTIFY X12Changed FINAL)
    Q_PROPERTY(bool X13 READ X13 WRITE setX13 NOTIFY X13Changed FINAL)
    Q_PROPERTY(bool X14 READ X14 WRITE setX14 NOTIFY X14Changed FINAL)
    Q_PROPERTY(bool X15 READ X15 WRITE setX15 NOTIFY X15Changed FINAL)
    Q_PROPERTY(bool X16 READ X16 WRITE setX16 NOTIFY X16Changed FINAL)
    Q_PROPERTY(bool X17 READ X17 WRITE setX17 NOTIFY X17Changed FINAL)
    Q_PROPERTY(bool X20 READ X20 WRITE setX20 NOTIFY X20Changed FINAL)
    Q_PROPERTY(bool X21 READ X21 WRITE setX21 NOTIFY X21Changed FINAL)
    Q_PROPERTY(bool X22 READ X22 WRITE setX22 NOTIFY X22Changed FINAL)

    // 13056
    Q_PROPERTY(bool Y0 READ Y0 WRITE setY0 NOTIFY Y0Changed FINAL)
    Q_PROPERTY(bool Y1 READ Y1 WRITE setY1 NOTIFY Y1Changed FINAL)
    Q_PROPERTY(bool Y2 READ Y2 WRITE setY2 NOTIFY Y2Changed FINAL)
    Q_PROPERTY(bool Y3 READ Y3 WRITE setY3 NOTIFY Y3Changed FINAL)
    Q_PROPERTY(bool Y4 READ Y4 WRITE setY4 NOTIFY Y4Changed FINAL)
    Q_PROPERTY(bool Y5 READ Y5 WRITE setY5 NOTIFY Y5Changed FINAL)
    Q_PROPERTY(bool Y6 READ Y6 WRITE setY6 NOTIFY Y6Changed FINAL)
    Q_PROPERTY(bool Y7 READ Y7 WRITE setY7 NOTIFY Y7Changed FINAL)
    Q_PROPERTY(bool Y10 READ Y10 WRITE setY10 NOTIFY Y10Changed FINAL)
    Q_PROPERTY(bool Y11 READ Y11 WRITE setY11 NOTIFY Y11Changed FINAL)
    Q_PROPERTY(bool Y12 READ Y12 WRITE setY12 NOTIFY Y12Changed FINAL)
    Q_PROPERTY(bool Y13 READ Y13 WRITE setY13 NOTIFY Y13Changed FINAL)
    Q_PROPERTY(bool Y14 READ Y14 WRITE setY14 NOTIFY Y14Changed FINAL)
    Q_PROPERTY(bool Y15 READ Y15 WRITE setY15 NOTIFY Y15Changed FINAL)
    Q_PROPERTY(bool Y16 READ Y16 WRITE setY16 NOTIFY Y16Changed FINAL)
    Q_PROPERTY(bool Y17 READ Y17 WRITE setY17 NOTIFY Y17Changed FINAL)
    Q_PROPERTY(bool Y20 READ Y20 WRITE setY20 NOTIFY Y20Changed FINAL)
    Q_PROPERTY(bool Y21 READ Y21 WRITE setY21 NOTIFY Y21Changed FINAL)
    Q_PROPERTY(bool Y22 READ Y22 WRITE setY22 NOTIFY Y22Changed FINAL)
    Q_PROPERTY(bool Y23 READ Y23 WRITE setY23 NOTIFY Y23Changed FINAL)
    Q_PROPERTY(bool Y24 READ Y24 WRITE setY24 NOTIFY Y24Changed FINAL)
    Q_PROPERTY(bool Y25 READ Y25 WRITE setY25 NOTIFY Y25Changed FINAL)

    // 弹窗信号
    // 禁止左行提示 M42
    Q_PROPERTY(bool M_42 READ M_42 WRITE setM_42 NOTIFY M_42Changed FINAL)
    // 禁止右行提示 M42
    Q_PROPERTY(bool M_43 READ M_43 WRITE setM_43 NOTIFY M_43Changed FINAL)
    // 当前位置等于定位位置提示 M47
    Q_PROPERTY(bool M_47 READ M_47 WRITE setM_47 NOTIFY M_47Changed FINAL)
    // 位置清零失败提示 M52
    Q_PROPERTY(bool M_52 READ M_52 WRITE setM_52 NOTIFY M_52Changed FINAL)
    // 伺服未准备好提示 M56
    Q_PROPERTY(bool M_56 READ M_56 WRITE setM_56 NOTIFY M_56Changed FINAL)
    // 读取位置失败提示 M57
    Q_PROPERTY(bool M_57 READ M_57 WRITE setM_57 NOTIFY M_57Changed FINAL)
    // 读取位置完成提示 M58
    Q_PROPERTY(bool M_58 READ M_58 WRITE setM_58 NOTIFY M_58Changed FINAL)
    // 未找零禁止运行提示 M59
    Q_PROPERTY(bool M_59 READ M_59 WRITE setM_59 NOTIFY M_59Changed FINAL)
    // 未选择电机提示 M64
    Q_PROPERTY(bool M_64 READ M_64 WRITE setM_64 NOTIFY M_64Changed FINAL)
    // 工进中禁止压料提示 M68
    Q_PROPERTY(bool M_68 READ M_68 WRITE setM_68 NOTIFY M_68Changed FINAL)
    // 后位异常禁止压料提示 M69
    Q_PROPERTY(bool M_69 READ M_69 WRITE setM_69 NOTIFY M_69Changed FINAL)
    // 当前段数已经加工完成提示 M73
    Q_PROPERTY(bool M_73 READ M_73 WRITE setM_73 NOTIFY M_73Changed FINAL)
    // 锯片未启动禁止出锯提示 M76
    Q_PROPERTY(bool M_76 READ M_76 WRITE setM_76 NOTIFY M_76Changed FINAL)
    // 未压料禁止出锯提示 M77
    Q_PROPERTY(bool M_77 READ M_77 WRITE setM_77 NOTIFY M_77Changed FINAL)
    // 当前位置禁止出锯提示 M80
    Q_PROPERTY(bool M_80 READ M_80 WRITE setM_80 NOTIFY M_80Changed FINAL)
    // 设定超短小于最短料长提示 M134
    Q_PROPERTY(bool M_134 READ M_134 WRITE setM_134 NOTIFY M_134Changed FINAL)
    // 锯片到位信号异常提示 M137
    Q_PROPERTY(bool M_137 READ M_137 WRITE setM_137 NOTIFY M_137Changed FINAL)
    // 超短复位提示 M143
    Q_PROPERTY(bool M_143 READ M_143 WRITE setM_143 NOTIFY M_143Changed FINAL)
    // 超长定位提示 M149
    Q_PROPERTY(bool M_149 READ M_149 WRITE setM_149 NOTIFY M_149Changed FINAL)
    // 坐标清零完成提示 M152
    Q_PROPERTY(bool M_152 READ M_152 WRITE setM_152 NOTIFY M_152Changed FINAL)
    // 禁止45度内摆提示 M153
    Q_PROPERTY(bool M_153 READ M_153 WRITE setM_153 NOTIFY M_153Changed FINAL)
    // 禁止右机头移动提示 M159
    Q_PROPERTY(bool M_159 READ M_159 WRITE setM_159 NOTIFY M_159Changed FINAL)
    // 切换选锯方式提示 M164
    Q_PROPERTY(bool M_164 READ M_164 WRITE setM_164 NOTIFY M_164Changed FINAL)
    // 误差修正完成提示 M170
    Q_PROPERTY(bool M_170 READ M_170 WRITE setM_170 NOTIFY M_170Changed FINAL)
    // 清除电池报警失败提示 M196
    Q_PROPERTY(bool M_196 READ M_196 WRITE setM_196 NOTIFY M_196Changed FINAL)
    // 清除完成请重启提示 M197
    Q_PROPERTY(bool M_197 READ M_197 WRITE setM_197 NOTIFY M_197Changed FINAL)
    // 前托信号异常提示 M250
    Q_PROPERTY(bool M_250 READ M_250 WRITE setM_250 NOTIFY M_250Changed FINAL)
    // 中托信号异常提示 M251
    Q_PROPERTY(bool M_251 READ M_251 WRITE setM_251 NOTIFY M_251Changed FINAL)
    // 后托信号异常提示 M252
    Q_PROPERTY(bool M_252 READ M_252 WRITE setM_252 NOTIFY M_252Changed FINAL)

    // 显示反馈
    // 压紧状态 M239
    Q_PROPERTY(bool M_239 READ M_239 WRITE setM_239 NOTIFY M_239Changed FINAL)
    // 锯片启动状态 M240
    Q_PROPERTY(bool M_240 READ M_240 WRITE setM_240 NOTIFY M_240Changed FINAL)
    // 工进状态 M241
    Q_PROPERTY(bool M_241 READ M_241 WRITE setM_241 NOTIFY M_241Changed FINAL)
    // 自动打印功能启用/禁用 M511
    Q_PROPERTY(bool M_511 READ M_511 WRITE setM_511 NOTIFY M_511Changed FINAL)

    // 左角度反馈 M390
    Q_PROPERTY(bool M_390 READ M_390 WRITE setM_390 NOTIFY M_390Changed FINAL)
    // 右角度反馈 M391
    Q_PROPERTY(bool M_391 READ M_391 WRITE setM_391 NOTIFY M_391Changed FINAL)
    // 前托退到位 M243
    Q_PROPERTY(bool M_243 READ M_243 WRITE setM_243 NOTIFY M_243Changed FINAL)
    // 中托退到位 M244
    Q_PROPERTY(bool M_244 READ M_244 WRITE setM_244 NOTIFY M_244Changed FINAL)
    // 后托退到位 M245
    Q_PROPERTY(bool M_245 READ M_245 WRITE setM_245 NOTIFY M_245Changed FINAL)
    // 前托料架使能 M515
    Q_PROPERTY(bool M_515 READ M_515 WRITE setM_515 NOTIFY M_515Changed FINAL)
    // 中托料架使能 M516
    Q_PROPERTY(bool M_516 READ M_516 WRITE setM_516 NOTIFY M_516Changed FINAL)
    // 后托料架使能 M517
    Q_PROPERTY(bool M_517 READ M_517 WRITE setM_517 NOTIFY M_517Changed FINAL)
    // 前托料架大于0 小于1 M512
    Q_PROPERTY(bool M_512 READ M_512 WRITE setM_512 NOTIFY M_512Changed FINAL)
    // 后托料架大于0 小于1 M514
    Q_PROPERTY(bool M_514 READ M_514 WRITE setM_514 NOTIFY M_514Changed FINAL)
    // 不检测托料架 M499
    Q_PROPERTY(bool M_499 READ M_499 WRITE setM_499 NOTIFY M_499Changed FINAL)
    // 摆角专补启用/禁用
    Q_PROPERTY(bool M_421 READ M_421 WRITE setM_421 NOTIFY M_421Changed FINAL)
    // 任意位置补偿开关1
    Q_PROPERTY(bool M_401 READ M_401 WRITE setM_401 NOTIFY M_401Changed FINAL)
    // 任意位置补偿开关2
    Q_PROPERTY(bool M_402 READ M_402 WRITE setM_402 NOTIFY M_402Changed FINAL)
    // 任意位置补偿开关3
    Q_PROPERTY(bool M_403 READ M_403 WRITE setM_403 NOTIFY M_403Changed FINAL)
    // 任意位置补偿开关4
    Q_PROPERTY(bool M_404 READ M_404 WRITE setM_404 NOTIFY M_404Changed FINAL)
    // 任意位置补偿开关5
    Q_PROPERTY(bool M_405 READ M_405 WRITE setM_405 NOTIFY M_405Changed FINAL)
    // 任意位置补偿开关6
    Q_PROPERTY(bool M_406 READ M_406 WRITE setM_406 NOTIFY M_406Changed FINAL)
    // 任意位置补偿开关7
    Q_PROPERTY(bool M_407 READ M_407 WRITE setM_407 NOTIFY M_407Changed FINAL)
    // 任意位置补偿开关8
    Q_PROPERTY(bool M_408 READ M_408 WRITE setM_408 NOTIFY M_408Changed FINAL)
    // 任意位置补偿开关9
    Q_PROPERTY(bool M_409 READ M_409 WRITE setM_409 NOTIFY M_409Changed FINAL)
    // 任意位置补偿开关10
    Q_PROPERTY(bool M_410 READ M_410 WRITE setM_410 NOTIFY M_410Changed FINAL)
    // 任意位置补偿开关11
    Q_PROPERTY(bool M_411 READ M_411 WRITE setM_411 NOTIFY M_411Changed FINAL)
    // 任意位置补偿开关12
    Q_PROPERTY(bool M_412 READ M_412 WRITE setM_412 NOTIFY M_412Changed FINAL)
    // 任意位置补偿开关13
    Q_PROPERTY(bool M_413 READ M_413 WRITE setM_413 NOTIFY M_413Changed FINAL)
    // 任意位置补偿开关14
    Q_PROPERTY(bool M_414 READ M_414 WRITE setM_414 NOTIFY M_414Changed FINAL)
    // 任意位置补偿开关15
    Q_PROPERTY(bool M_415 READ M_415 WRITE setM_415 NOTIFY M_415Changed FINAL)
    // 任意位置补偿开关16
    Q_PROPERTY(bool M_416 READ M_416 WRITE setM_416 NOTIFY M_416Changed FINAL)
    // 任意位置补偿开关17
    Q_PROPERTY(bool M_417 READ M_417 WRITE setM_417 NOTIFY M_417Changed FINAL)
    // 任意位置补偿开关18
    Q_PROPERTY(bool M_418 READ M_418 WRITE setM_418 NOTIFY M_418Changed FINAL)
    // 任意位置补偿开关19
    Q_PROPERTY(bool M_419 READ M_419 WRITE setM_419 NOTIFY M_419Changed FINAL)
    // 任意位置补偿开关20
    Q_PROPERTY(bool M_420 READ M_420 WRITE setM_420 NOTIFY M_420Changed FINAL)

    // 设备状态显示
    // 设备回零中 M6
    Q_PROPERTY(bool M_6 READ M_6 WRITE setM_6 NOTIFY M_6Changed FINAL)
    // 电机运行中 M7
    Q_PROPERTY(bool M_7 READ M_7 WRITE setM_7 NOTIFY M_7Changed FINAL)
    // 设备找零中 M9
    Q_PROPERTY(bool M_9 READ M_9 WRITE setM_9 NOTIFY M_9Changed FINAL)
    // 超长加工中 M96
    Q_PROPERTY(bool M_96 READ M_96 WRITE setM_96 NOTIFY M_96Changed FINAL)
    // 超短加工中 M97
    Q_PROPERTY(bool M_97 READ M_97 WRITE setM_97 NOTIFY M_97Changed FINAL)
    // 角码加工中 M98
    Q_PROPERTY(bool M_98 READ M_98 WRITE setM_98 NOTIFY M_98Changed FINAL)
    // 超长定位中 M103
    Q_PROPERTY(bool M_103 READ M_103 WRITE setM_103 NOTIFY M_103Changed FINAL)
    // 工进动作 M61
    Q_PROPERTY(bool M_61 READ M_61 WRITE setM_61 NOTIFY M_61Changed FINAL)

    // 报警信息
    // 急停有效 M2
    Q_PROPERTY(bool M_2 READ M_2 WRITE setM_2 NOTIFY M_2Changed FINAL)
    // 伺服报警 M3
    Q_PROPERTY(bool M_3 READ M_3 WRITE setM_3 NOTIFY M_3Changed FINAL)
    // 正向限位超程 M31
    Q_PROPERTY(bool M_31 READ M_31 WRITE setM_31 NOTIFY M_31Changed FINAL)
    // 反向限位超程 M36
    Q_PROPERTY(bool M_36 READ M_36 WRITE setM_36 NOTIFY M_36Changed FINAL)

    // 设备配置
    // 工进时间共用/分开 M528
    Q_PROPERTY(bool M_528 READ M_528 WRITE setM_528 NOTIFY M_528Changed FINAL)
    // 旋钮选择机头/角度 M510
    Q_PROPERTY(bool M_510 READ M_510 WRITE setM_510 NOTIFY M_510Changed FINAL)
    // 电磁阀断电/不断电 M509
    Q_PROPERTY(bool M_509 READ M_509 WRITE setM_509 NOTIFY M_509Changed FINAL)
    // 编码器21位/17位 M400
    Q_PROPERTY(bool M_400 READ M_400 WRITE setM_400 NOTIFY M_400Changed FINAL)
    // 打印机存在/不存在 M398
    Q_PROPERTY(bool M_398 READ M_398 WRITE setM_398 NOTIFY M_398Changed FINAL)
    // 托料架存在/不存在 M397
    Q_PROPERTY(bool M_397 READ M_397 WRITE setM_397 NOTIFY M_397Changed FINAL)
    // 自动检测存在/不存在 M396
    Q_PROPERTY(bool M_396 READ M_396 WRITE setM_396 NOTIFY M_396Changed FINAL)
    // 锯片内摆外摆 M394
    Q_PROPERTY(bool M_394 READ M_394 WRITE setM_394 NOTIFY M_394Changed FINAL)
    // 急停按钮常闭/常开 M500
    Q_PROPERTY(bool M_500 READ M_500 WRITE setM_500 NOTIFY M_500Changed FINAL)
    // 伺服报警常闭/常开 M501
    Q_PROPERTY(bool M_501 READ M_501 WRITE setM_501 NOTIFY M_501Changed FINAL)
    // 伺服类型增量式/绝对值 M392
    Q_PROPERTY(bool M_392 READ M_392 WRITE setM_392 NOTIFY M_392Changed FINAL)
    // 旋钮选择左右锯/触屏选择左右锯 M393
    Q_PROPERTY(bool M_393 READ M_393 WRITE setM_393 NOTIFY M_393Changed FINAL)
    // 限位开关常开/常闭 M502
    Q_PROPERTY(bool M_502 READ M_502 WRITE setM_502 NOTIFY M_502Changed FINAL)
    // 机头旋钮常开/常闭 M503
    Q_PROPERTY(bool M_503 READ M_503 WRITE setM_503 NOTIFY M_503Changed FINAL)
    // 拉手功能禁用/启用 M529
    Q_PROPERTY(bool M_529 READ M_529 WRITE setM_529 NOTIFY M_529Changed FINAL)
    // 45度专切禁用/启用 M530
    Q_PROPERTY(bool M_530 READ M_530 WRITE setM_530 NOTIFY M_530Changed FINAL)
    // 伺服名称 TH / DVS M505
    Q_PROPERTY(bool M_505 READ M_505 WRITE setM_505 NOTIFY M_505Changed FINAL)
    // 防扫料功能禁用/启用 M506
    Q_PROPERTY(bool M_506 READ M_506 WRITE setM_506 NOTIFY M_506Changed FINAL)
    // 压紧反逻辑/正逻辑 M507
    Q_PROPERTY(bool M_507 READ M_507 WRITE setM_507 NOTIFY M_507Changed FINAL)
    // 复位延时关 /开 M508
    Q_PROPERTY(bool M_508 READ M_508 WRITE setM_508 NOTIFY M_508Changed FINAL)

    // 自动打印相关
    // 左角度反馈值 M390
    // 右角度反馈值 M391
    // 锯片内摆外摆 M394
    // 自动打印开关 M511
    // 自动打印中继 M135
    Q_PROPERTY(bool M_135 READ M_135 WRITE setM_135 NOTIFY M_135Changed FINAL)
    // D64 待加工料长
    Q_PROPERTY(QString Printer_Material_Length READ Printer_Material_Length WRITE
                   setPrinter_Material_Length NOTIFY Printer_Material_LengthChanged FINAL)
    // D214 材料高度
    Q_PROPERTY(QString Printer_Material_Height READ Printer_Material_Height WRITE
                   setPrinter_Material_Height NOTIFY Printer_Material_HeightChanged FINAL)


    // 二维码料单界面寄存器
    // 切割长度1 D1600
    Q_PROPERTY(QString QR_List_CutLength_1 READ QR_List_CutLength_1 WRITE setQR_List_CutLength_1 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度2 D1602
    Q_PROPERTY(QString QR_List_CutLength_2 READ QR_List_CutLength_2 WRITE setQR_List_CutLength_2 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度3 D1604
    Q_PROPERTY(QString QR_List_CutLength_3 READ QR_List_CutLength_3 WRITE setQR_List_CutLength_3 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度4 D1606
    Q_PROPERTY(QString QR_List_CutLength_4 READ QR_List_CutLength_4 WRITE setQR_List_CutLength_4 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度5 D1608
    Q_PROPERTY(QString QR_List_CutLength_5 READ QR_List_CutLength_5 WRITE setQR_List_CutLength_5 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度6 D1610
    Q_PROPERTY(QString QR_List_CutLength_6 READ QR_List_CutLength_6 WRITE setQR_List_CutLength_6 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度7 D1612
    Q_PROPERTY(QString QR_List_CutLength_7 READ QR_List_CutLength_7 WRITE setQR_List_CutLength_7 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度8 D1614
    Q_PROPERTY(QString QR_List_CutLength_8 READ QR_List_CutLength_8 WRITE setQR_List_CutLength_8 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度9 D1616
    Q_PROPERTY(QString QR_List_CutLength_9 READ QR_List_CutLength_9 WRITE setQR_List_CutLength_9 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度10 D1618
    Q_PROPERTY(QString QR_List_CutLength_10 READ QR_List_CutLength_10 WRITE setQR_List_CutLength_10 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度11 D1620
    Q_PROPERTY(QString QR_List_CutLength_11 READ QR_List_CutLength_11 WRITE setQR_List_CutLength_11 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度12 D1622
    Q_PROPERTY(QString QR_List_CutLength_12 READ QR_List_CutLength_12 WRITE setQR_List_CutLength_12 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度13 D1624
    Q_PROPERTY(QString QR_List_CutLength_13 READ QR_List_CutLength_13 WRITE setQR_List_CutLength_13 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度14 D1626
    Q_PROPERTY(QString QR_List_CutLength_14 READ QR_List_CutLength_14 WRITE setQR_List_CutLength_14 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度15 D1628
    Q_PROPERTY(QString QR_List_CutLength_15 READ QR_List_CutLength_15 WRITE setQR_List_CutLength_15 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度16 D1630
    Q_PROPERTY(QString QR_List_CutLength_16 READ QR_List_CutLength_16 WRITE setQR_List_CutLength_16 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度17 D1632
    Q_PROPERTY(QString QR_List_CutLength_17 READ QR_List_CutLength_17 WRITE setQR_List_CutLength_17 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度18 D1634
    Q_PROPERTY(QString QR_List_CutLength_18 READ QR_List_CutLength_18 WRITE setQR_List_CutLength_18 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度19 D1636
    Q_PROPERTY(QString QR_List_CutLength_19 READ QR_List_CutLength_19 WRITE setQR_List_CutLength_19 NOTIFY QR_List_CutLength_1Changed FINAL)
    // 切割长度20 D1638
    Q_PROPERTY(QString QR_List_CutLength_20 READ QR_List_CutLength_20 WRITE setQR_List_CutLength_20 NOTIFY QR_List_CutLength_1Changed FINAL)

    // 左角度1 [INT 16] D1640
    Q_PROPERTY(QString QR_List_Left_1 READ QR_List_Left_1 WRITE setQR_List_Left_1 NOTIFY QR_List_Left_1Changed FINAL)
    // 右角度1 [INT 16] D1641
    Q_PROPERTY(QString QR_List_Right_1 READ QR_List_Right_1 WRITE setQR_List_Right_1 NOTIFY QR_List_Right_1Changed FINAL)
    // 左角度2 [INT 16] D1642
    Q_PROPERTY(QString QR_List_Left_2 READ QR_List_Left_2 WRITE setQR_List_Left_2 NOTIFY QR_List_Left_2Changed FINAL)
    // 右角度2 [INT 16] D1643
    Q_PROPERTY(QString QR_List_Right_2 READ QR_List_Right_2 WRITE setQR_List_Right_2 NOTIFY QR_List_Right_2Changed FINAL)
    // 左角度3 [INT 16] D1644
    Q_PROPERTY(QString QR_List_Left_3 READ QR_List_Left_3 WRITE setQR_List_Left_3 NOTIFY QR_List_Left_3Changed FINAL)
    // 右角度3 [INT 16] D1645
    Q_PROPERTY(QString QR_List_Right_3 READ QR_List_Right_3 WRITE setQR_List_Right_3 NOTIFY QR_List_Right_3Changed FINAL)
    // 左角度4 [INT 16] D1646
    Q_PROPERTY(QString QR_List_Left_4 READ QR_List_Left_4 WRITE setQR_List_Left_4 NOTIFY QR_List_Left_4Changed FINAL)
    // 右角度4 [INT 16] D1647
    Q_PROPERTY(QString QR_List_Right_4 READ QR_List_Right_4 WRITE setQR_List_Right_4 NOTIFY QR_List_Right_4Changed FINAL)
    // 左角度5 [INT 16] D1648
    Q_PROPERTY(QString QR_List_Left_5 READ QR_List_Left_5 WRITE setQR_List_Left_5 NOTIFY QR_List_Left_5Changed FINAL)
    // 右角度5 [INT 16] D1649
    Q_PROPERTY(QString QR_List_Right_5 READ QR_List_Right_5 WRITE setQR_List_Right_5 NOTIFY QR_List_Right_5Changed FINAL)
    // 左角度6 [INT 16] D1650
    Q_PROPERTY(QString QR_List_Left_6 READ QR_List_Left_6 WRITE setQR_List_Left_6 NOTIFY QR_List_Left_6Changed FINAL)
    // 右角度6 [INT 16] D1651
    Q_PROPERTY(QString QR_List_Right_6 READ QR_List_Right_6 WRITE setQR_List_Right_6 NOTIFY QR_List_Right_6Changed FINAL)
    // 左角度7 [INT 16] D1652
    Q_PROPERTY(QString QR_List_Left_7 READ QR_List_Left_7 WRITE setQR_List_Left_7 NOTIFY QR_List_Left_7Changed FINAL)
    // 右角度7 [INT 16] D1653
    Q_PROPERTY(QString QR_List_Right_7 READ QR_List_Right_7 WRITE setQR_List_Right_7 NOTIFY QR_List_Right_7Changed FINAL)
    // 左角度8 [INT 16] D1654
    Q_PROPERTY(QString QR_List_Left_8 READ QR_List_Left_8 WRITE setQR_List_Left_8 NOTIFY QR_List_Left_8Changed FINAL)
    // 右角度8 [INT 16] D1655
    Q_PROPERTY(QString QR_List_Right_8 READ QR_List_Right_8 WRITE setQR_List_Right_8 NOTIFY QR_List_Right_8Changed FINAL)
    // 左角度9 [INT 16] D1656
    Q_PROPERTY(QString QR_List_Left_9 READ QR_List_Left_9 WRITE setQR_List_Left_9 NOTIFY QR_List_Left_9Changed FINAL)
    // 右角度9 [INT 16] D1657
    Q_PROPERTY(QString QR_List_Right_9 READ QR_List_Right_9 WRITE setQR_List_Right_9 NOTIFY QR_List_Right_9Changed FINAL)
    // 左角度10 [INT 16] D1658
    Q_PROPERTY(QString QR_List_Left_10 READ QR_List_Left_10 WRITE setQR_List_Left_10 NOTIFY QR_List_Left_10Changed FINAL)
    // 右角度10 [INT 16] D1659
    Q_PROPERTY(QString QR_List_Right_10 READ QR_List_Right_10 WRITE setQR_List_Right_10 NOTIFY QR_List_Right_10Changed FINAL)
    // 左角度11 [INT 16] D1660
    Q_PROPERTY(QString QR_List_Left_11 READ QR_List_Left_11 WRITE setQR_List_Left_11 NOTIFY QR_List_Left_11Changed FINAL)
    // 右角度11 [INT 16] D1661
    Q_PROPERTY(QString QR_List_Right_11 READ QR_List_Right_11 WRITE setQR_List_Right_11 NOTIFY QR_List_Right_11Changed FINAL)
    // 左角度12 [INT 16] D1662
    Q_PROPERTY(QString QR_List_Left_12 READ QR_List_Left_12 WRITE setQR_List_Left_12 NOTIFY QR_List_Left_12Changed FINAL)
    // 右角度12 [INT 16] D1663
    Q_PROPERTY(QString QR_List_Right_12 READ QR_List_Right_12 WRITE setQR_List_Right_12 NOTIFY QR_List_Right_12Changed FINAL)
    // 左角度13 [INT 16] D1664
    Q_PROPERTY(QString QR_List_Left_13 READ QR_List_Left_13 WRITE setQR_List_Left_13 NOTIFY QR_List_Left_13Changed FINAL)
    // 右角度13 [INT 16] D1665
    Q_PROPERTY(QString QR_List_Right_13 READ QR_List_Right_13 WRITE setQR_List_Right_13 NOTIFY QR_List_Right_13Changed FINAL)
    // 左角度14 [INT 16] D1666
    Q_PROPERTY(QString QR_List_Left_14 READ QR_List_Left_14 WRITE setQR_List_Left_14 NOTIFY QR_List_Left_14Changed FINAL)
    // 右角度14 [INT 16] D1667
    Q_PROPERTY(QString QR_List_Right_14 READ QR_List_Right_14 WRITE setQR_List_Right_14 NOTIFY QR_List_Right_14Changed FINAL)
    // 左角度15 [INT 16] D1668
    Q_PROPERTY(QString QR_List_Left_15 READ QR_List_Left_15 WRITE setQR_List_Left_15 NOTIFY QR_List_Left_15Changed FINAL)
    // 右角度15 [INT 16] D1669
    Q_PROPERTY(QString QR_List_Right_15 READ QR_List_Right_15 WRITE setQR_List_Right_15 NOTIFY QR_List_Right_15Changed FINAL)
    // 左角度16 [INT 16] D1670
    Q_PROPERTY(QString QR_List_Left_16 READ QR_List_Left_16 WRITE setQR_List_Left_16 NOTIFY QR_List_Left_16Changed FINAL)
    // 右角度16 [INT 16] D1671
    Q_PROPERTY(QString QR_List_Right_16 READ QR_List_Right_16 WRITE setQR_List_Right_16 NOTIFY QR_List_Right_16Changed FINAL)
    // 左角度17 [INT 16] D1672
    Q_PROPERTY(QString QR_List_Left_17 READ QR_List_Left_17 WRITE setQR_List_Left_17 NOTIFY QR_List_Left_17Changed FINAL)
    // 右角度17 [INT 16] D1673
    Q_PROPERTY(QString QR_List_Right_17 READ QR_List_Right_17 WRITE setQR_List_Right_17 NOTIFY QR_List_Right_17Changed FINAL)
    // 左角度18 [INT 16] D1674
    Q_PROPERTY(QString QR_List_Left_18 READ QR_List_Left_18 WRITE setQR_List_Left_18 NOTIFY QR_List_Left_18Changed FINAL)
    // 右角度18 [INT 16] D1675
    Q_PROPERTY(QString QR_List_Right_18 READ QR_List_Right_18 WRITE setQR_List_Right_18 NOTIFY QR_List_Right_18Changed FINAL)
    // 左角度19 [INT 16] D1676
    Q_PROPERTY(QString QR_List_Left_19 READ QR_List_Left_19 WRITE setQR_List_Left_19 NOTIFY QR_List_Left_19Changed FINAL)
    // 右角度19 [INT 16] D1677
    Q_PROPERTY(QString QR_List_Right_19 READ QR_List_Right_19 WRITE setQR_List_Right_19 NOTIFY QR_List_Right_19Changed FINAL)
    // 左角度20 [INT 16] D1678
    Q_PROPERTY(QString QR_List_Left_20 READ QR_List_Left_20 WRITE setQR_List_Left_20 NOTIFY QR_List_Left_20Changed FINAL)
    // 右角度20 [INT 16] D1679
    Q_PROPERTY(QString QR_List_Right_20 READ QR_List_Right_20 WRITE setQR_List_Right_20 NOTIFY QR_List_Right_20Changed FINAL)

    // 切割数量1 [INT 16] D1680
    Q_PROPERTY(QString QR_List_CutCount_1 READ QR_List_CutCount_1 WRITE setQR_List_CutCount_1 NOTIFY QR_List_CutCount_1Changed FINAL)
    // 切割数量2 [INT 16] D1681
    Q_PROPERTY(QString QR_List_CutCount_2 READ QR_List_CutCount_2 WRITE setQR_List_CutCount_2 NOTIFY QR_List_CutCount_2Changed FINAL)
    // 切割数量3 [INT 16] D1682
    Q_PROPERTY(QString QR_List_CutCount_3 READ QR_List_CutCount_3 WRITE setQR_List_CutCount_3 NOTIFY QR_List_CutCount_3Changed FINAL)
    // 切割数量4 [INT 16] D1683
    Q_PROPERTY(QString QR_List_CutCount_4 READ QR_List_CutCount_4 WRITE setQR_List_CutCount_4 NOTIFY QR_List_CutCount_4Changed FINAL)
    // 切割数量5 [INT 16] D1684
    Q_PROPERTY(QString QR_List_CutCount_5 READ QR_List_CutCount_5 WRITE setQR_List_CutCount_5 NOTIFY QR_List_CutCount_5Changed FINAL)
    // 切割数量6 [INT 16] D1685
    Q_PROPERTY(QString QR_List_CutCount_6 READ QR_List_CutCount_6 WRITE setQR_List_CutCount_6 NOTIFY QR_List_CutCount_6Changed FINAL)
    // 切割数量7 [INT 16] D1686
    Q_PROPERTY(QString QR_List_CutCount_7 READ QR_List_CutCount_7 WRITE setQR_List_CutCount_7 NOTIFY QR_List_CutCount_7Changed FINAL)
    // 切割数量8 [INT 16] D1687
    Q_PROPERTY(QString QR_List_CutCount_8 READ QR_List_CutCount_8 WRITE setQR_List_CutCount_8 NOTIFY QR_List_CutCount_8Changed FINAL)
    // 切割数量9 [INT 16] D1688
    Q_PROPERTY(QString QR_List_CutCount_9 READ QR_List_CutCount_9 WRITE setQR_List_CutCount_9 NOTIFY QR_List_CutCount_9Changed FINAL)
    // 切割数量10 [INT 16] D1689
    Q_PROPERTY(QString QR_List_CutCount_10 READ QR_List_CutCount_10 WRITE setQR_List_CutCount_10 NOTIFY QR_List_CutCount_10Changed FINAL)
    // 切割数量11 [INT 16] D1690
    Q_PROPERTY(QString QR_List_CutCount_11 READ QR_List_CutCount_11 WRITE setQR_List_CutCount_11 NOTIFY QR_List_CutCount_11Changed FINAL)
    // 切割数量12 [INT 16] D1691
    Q_PROPERTY(QString QR_List_CutCount_12 READ QR_List_CutCount_12 WRITE setQR_List_CutCount_12 NOTIFY QR_List_CutCount_12Changed FINAL)
    // 切割数量13 [INT 16] D1692
    Q_PROPERTY(QString QR_List_CutCount_13 READ QR_List_CutCount_13 WRITE setQR_List_CutCount_13 NOTIFY QR_List_CutCount_13Changed FINAL)
    // 切割数量14 [INT 16] D1693
    Q_PROPERTY(QString QR_List_CutCount_14 READ QR_List_CutCount_14 WRITE setQR_List_CutCount_14 NOTIFY QR_List_CutCount_14Changed FINAL)
    // 切割数量15 [INT 16] D1694
    Q_PROPERTY(QString QR_List_CutCount_15 READ QR_List_CutCount_15 WRITE setQR_List_CutCount_15 NOTIFY QR_List_CutCount_15Changed FINAL)
    // 切割数量16 [INT 16] D1695
    Q_PROPERTY(QString QR_List_CutCount_16 READ QR_List_CutCount_16 WRITE setQR_List_CutCount_16 NOTIFY QR_List_CutCount_16Changed FINAL)
    // 切割数量17 [INT 16] D1696
    Q_PROPERTY(QString QR_List_CutCount_17 READ QR_List_CutCount_17 WRITE setQR_List_CutCount_17 NOTIFY QR_List_CutCount_17Changed FINAL)
    // 切割数量18 [INT 16] D1697
    Q_PROPERTY(QString QR_List_CutCount_18 READ QR_List_CutCount_18 WRITE setQR_List_CutCount_18 NOTIFY QR_List_CutCount_18Changed FINAL)
    // 切割数量19 [INT 16] D1698
    Q_PROPERTY(QString QR_List_CutCount_19 READ QR_List_CutCount_19 WRITE setQR_List_CutCount_19 NOTIFY QR_List_CutCount_19Changed FINAL)
    // 切割数量20 [INT 16] D1699
    Q_PROPERTY(QString QR_List_CutCount_20 READ QR_List_CutCount_20 WRITE setQR_List_CutCount_20 NOTIFY QR_List_CutCount_20Changed FINAL)

    // 已加工数量1 [INT 16] D1700
    Q_PROPERTY(QString QR_List_WorkedCount_1 READ QR_List_WorkedCount_1 WRITE setQR_List_WorkedCount_1 NOTIFY QR_List_WorkedCount_1Changed FINAL)
    // 已加工数量2 [INT 16] D1701
    Q_PROPERTY(QString QR_List_WorkedCount_2 READ QR_List_WorkedCount_2 WRITE setQR_List_WorkedCount_2 NOTIFY QR_List_WorkedCount_2Changed FINAL)
    // 已加工数量3 [INT 16] D1702
    Q_PROPERTY(QString QR_List_WorkedCount_3 READ QR_List_WorkedCount_3 WRITE setQR_List_WorkedCount_3 NOTIFY QR_List_WorkedCount_3Changed FINAL)
    // 已加工数量4 [INT 16] D1703
    Q_PROPERTY(QString QR_List_WorkedCount_4 READ QR_List_WorkedCount_4 WRITE setQR_List_WorkedCount_4 NOTIFY QR_List_WorkedCount_4Changed FINAL)
    // 已加工数量5 [INT 16] D1704
    Q_PROPERTY(QString QR_List_WorkedCount_5 READ QR_List_WorkedCount_5 WRITE setQR_List_WorkedCount_5 NOTIFY QR_List_WorkedCount_5Changed FINAL)
    // 已加工数量6 [INT 16] D1705
    Q_PROPERTY(QString QR_List_WorkedCount_6 READ QR_List_WorkedCount_6 WRITE setQR_List_WorkedCount_6 NOTIFY QR_List_WorkedCount_6Changed FINAL)
    // 已加工数量7 [INT 16] D1706
    Q_PROPERTY(QString QR_List_WorkedCount_7 READ QR_List_WorkedCount_7 WRITE setQR_List_WorkedCount_7 NOTIFY QR_List_WorkedCount_7Changed FINAL)
    // 已加工数量8 [INT 16] D1707
    Q_PROPERTY(QString QR_List_WorkedCount_8 READ QR_List_WorkedCount_8 WRITE setQR_List_WorkedCount_8 NOTIFY QR_List_WorkedCount_8Changed FINAL)
    // 已加工数量9 [INT 16] D1708
    Q_PROPERTY(QString QR_List_WorkedCount_9 READ QR_List_WorkedCount_9 WRITE setQR_List_WorkedCount_9 NOTIFY QR_List_WorkedCount_9Changed FINAL)
    // 已加工数量10 [INT 16] D1709
    Q_PROPERTY(QString QR_List_WorkedCount_10 READ QR_List_WorkedCount_10 WRITE setQR_List_WorkedCount_10 NOTIFY QR_List_WorkedCount_10Changed FINAL)
    // 已加工数量11 [INT 16] D1710
    Q_PROPERTY(QString QR_List_WorkedCount_11 READ QR_List_WorkedCount_11 WRITE setQR_List_WorkedCount_11 NOTIFY QR_List_WorkedCount_11Changed FINAL)
    // 已加工数量12 [INT 16] D1711
    Q_PROPERTY(QString QR_List_WorkedCount_12 READ QR_List_WorkedCount_12 WRITE setQR_List_WorkedCount_12 NOTIFY QR_List_WorkedCount_12Changed FINAL)
    // 已加工数量13 [INT 16] D1712
    Q_PROPERTY(QString QR_List_WorkedCount_13 READ QR_List_WorkedCount_13 WRITE setQR_List_WorkedCount_13 NOTIFY QR_List_WorkedCount_13Changed FINAL)
    // 已加工数量14 [INT 16] D1713
    Q_PROPERTY(QString QR_List_WorkedCount_14 READ QR_List_WorkedCount_14 WRITE setQR_List_WorkedCount_14 NOTIFY QR_List_WorkedCount_14Changed FINAL)
    // 已加工数量15 [INT 16] D1714
    Q_PROPERTY(QString QR_List_WorkedCount_15 READ QR_List_WorkedCount_15 WRITE setQR_List_WorkedCount_15 NOTIFY QR_List_WorkedCount_15Changed FINAL)
    // 已加工数量16 [INT 16] D1715
    Q_PROPERTY(QString QR_List_WorkedCount_16 READ QR_List_WorkedCount_16 WRITE setQR_List_WorkedCount_16 NOTIFY QR_List_WorkedCount_16Changed FINAL)
    // 已加工数量17 [INT 16] D1716
    Q_PROPERTY(QString QR_List_WorkedCount_17 READ QR_List_WorkedCount_17 WRITE setQR_List_WorkedCount_17 NOTIFY QR_List_WorkedCount_17Changed FINAL)
    // 已加工数量18 [INT 16] D1717
    Q_PROPERTY(QString QR_List_WorkedCount_18 READ QR_List_WorkedCount_18 WRITE setQR_List_WorkedCount_18 NOTIFY QR_List_WorkedCount_18Changed FINAL)
    // 已加工数量19 [INT 16] D1718
    Q_PROPERTY(QString QR_List_WorkedCount_19 READ QR_List_WorkedCount_19 WRITE setQR_List_WorkedCount_19 NOTIFY QR_List_WorkedCount_19Changed FINAL)
    // 已加工数量20 [INT 16] D1719
    Q_PROPERTY(QString QR_List_WorkedCount_20 READ QR_List_WorkedCount_20 WRITE setQR_List_WorkedCount_20 NOTIFY QR_List_WorkedCount_20Changed FINAL)
    // 当前料单加工序号 [INT 16] D77 [定时器轮询]
    Q_PROPERTY(QString Current_List_Order READ Current_List_Order WRITE setCurrent_List_Order NOTIFY Current_List_OrderChanged FINAL)

    // 当前二维码类型 [1长风离线  2速制离线  3画门窗离线  4创品离线  5新格尔离线]
    Q_PROPERTY(int Current_QR_Type READ Current_QR_Type WRITE setCurrent_QR_Type NOTIFY Current_QR_TypeChanged FINAL)

    // 当前本地料单加工序号 [INT 16] D76 [定时器轮询]
    Q_PROPERTY(QString Current_Local_Order READ Current_Local_Order WRITE setCurrent_Local_Order NOTIFY Current_Local_OrderChanged FINAL)

    // 普通加工料长上限
    Q_PROPERTY(QString MaterialLength_Max READ MaterialLength_Max WRITE setMaterialLength_Max NOTIFY MaterialLength_MaxChanged FINAL)
    // 普通加工料长下限
    Q_PROPERTY(QString MaterialLength_Min READ MaterialLength_Min WRITE setMaterialLength_Min NOTIFY MaterialLength_MinChanged FINAL)
    // 超短料长上限
    Q_PROPERTY(QString ExtraShort_Max READ ExtraShort_Max WRITE setExtraShort_Max NOTIFY ExtraShort_MaxChanged FINAL)
    // 超短料长下限
    Q_PROPERTY(QString ExtraShort_Min READ ExtraShort_Min WRITE setExtraShort_Min NOTIFY ExtraShort_MinChanged FINAL)
    // 超长料长上限
    Q_PROPERTY(QString ExtraLong_Max READ ExtraLong_Max WRITE setExtraLong_Max NOTIFY ExtraLong_MaxChanged FINAL)
    // 超长料长下限
    Q_PROPERTY(QString ExtraLong_Min READ ExtraLong_Min WRITE setExtraLong_Min NOTIFY ExtraLong_MinChanged FINAL)


    //
    // 本地料单 - 已加工数量  [D1700]
    Q_PROPERTY(QString Material_Worked_Count_1 READ Material_Worked_Count_1 WRITE setMaterial_Worked_Count_1 NOTIFY Material_Worked_Count_1Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_2 READ Material_Worked_Count_2 WRITE setMaterial_Worked_Count_2 NOTIFY Material_Worked_Count_2Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_3 READ Material_Worked_Count_3 WRITE setMaterial_Worked_Count_3 NOTIFY Material_Worked_Count_3Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_4 READ Material_Worked_Count_4 WRITE setMaterial_Worked_Count_4 NOTIFY Material_Worked_Count_4Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_5 READ Material_Worked_Count_5 WRITE setMaterial_Worked_Count_5 NOTIFY Material_Worked_Count_5Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_6 READ Material_Worked_Count_6 WRITE setMaterial_Worked_Count_6 NOTIFY Material_Worked_Count_6Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_7 READ Material_Worked_Count_7 WRITE setMaterial_Worked_Count_7 NOTIFY Material_Worked_Count_7Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_8 READ Material_Worked_Count_8 WRITE setMaterial_Worked_Count_8 NOTIFY Material_Worked_Count_8Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_9 READ Material_Worked_Count_9 WRITE setMaterial_Worked_Count_9 NOTIFY Material_Worked_Count_9Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_10 READ Material_Worked_Count_10 WRITE setMaterial_Worked_Count_10 NOTIFY Material_Worked_Count_10Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_11 READ Material_Worked_Count_11 WRITE setMaterial_Worked_Count_11 NOTIFY Material_Worked_Count_11Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_12 READ Material_Worked_Count_12 WRITE setMaterial_Worked_Count_12 NOTIFY Material_Worked_Count_12Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_13 READ Material_Worked_Count_13 WRITE setMaterial_Worked_Count_13 NOTIFY Material_Worked_Count_13Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_14 READ Material_Worked_Count_14 WRITE setMaterial_Worked_Count_14 NOTIFY Material_Worked_Count_14Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_15 READ Material_Worked_Count_15 WRITE setMaterial_Worked_Count_15 NOTIFY Material_Worked_Count_15Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_16 READ Material_Worked_Count_16 WRITE setMaterial_Worked_Count_16 NOTIFY Material_Worked_Count_16Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_17 READ Material_Worked_Count_17 WRITE setMaterial_Worked_Count_17 NOTIFY Material_Worked_Count_17Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_18 READ Material_Worked_Count_18 WRITE setMaterial_Worked_Count_18 NOTIFY Material_Worked_Count_18Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_19 READ Material_Worked_Count_19 WRITE setMaterial_Worked_Count_19 NOTIFY Material_Worked_Count_19Changed FINAL)
    Q_PROPERTY(QString Material_Worked_Count_20 READ Material_Worked_Count_20 WRITE setMaterial_Worked_Count_20 NOTIFY Material_Worked_Count_20Changed FINAL)



    // 当前系统登录状态 [M600   自行指定变量]
    Q_PROPERTY(bool Log_Flag READ Log_Flag WRITE setLog_Flag NOTIFY Log_FlagChanged FINAL)

public:
    static ModbusControl *getInstance(QObject *parent);
    static ModbusControl *m_instance;
    static QMutex m_mutex;

    // 设置连接参数
    void setModbusConnectParameter(
        QString serialPort, QString baudRate, QString dataBit, QString parity, QString stopBit);
    // 连接设备
    void connectToDevice();

    // 写入保持寄存器 32 位
    Q_INVOKABLE void write_into_PLC_32_Hold(int address, QString newValue);

    Q_INVOKABLE void write_into_PLC_16_Hold(int address, QString newValue);

    Q_INVOKABLE void write_into_PLC_Coils(int address, bool newValue);

    // 浮点数整合
    float combinationToFloat(quint16 highValue, quint16 lowValue);
    // 浮点数拆分
    void floatResolution(QString setValue, uint16_t *h_value, uint16_t *l_value);

    // 整数整合
    int combinationToInteger(quint16 highValue, quint16 lowValue);
    // 整数拆分
    void integerResolution(QString setValue, uint16_t *h_value, uint16_t *l_value);

    // 读取PLC版本号[定时器轮询]
    void read_PLC_Vertion_Hold();
    // 读取当前位置[定时器轮询]
    void read_Mechine_Current_Location();
    // 读取角码当前加工段数 角码累计加工段数  D1270  D1271[定时器轮询]
    void read_Current_Corner_Segments_Worked_Corner_Segments();
    // IO监控[定时器轮询]
    void read_IO_Monitor_DiscreteInputs();
    // 读取线圈信息 [报警，提示] [定时器轮询]
    void read_Coils();
    // 读取料单 已加工数量 - 二维码料单 [定时器轮询]
    void read_QR_Code_Process_Lists_Worked_Count();
    // 读取料单 已加工数量 - 本地料单 [定时器轮询]
    void read_Local_Material_List_Worked_Count();

    // 读取手动加工界面 - 普通加工 寄存器
    Q_INVOKABLE void read_Normal_Process_Hold();
    // 读取 普通加工界面寄存器1
    void read_Normal_Process_Hold_1();
    // 读取 普通加工界面寄存器2
    void read_Normal_Process_Hold_2();
    // 计算 普通加工料长 上下限
    void calculate_MaterialLength_Max_And_Min();

    // 读取手动加工界面 - 超长加工 寄存器
    Q_INVOKABLE void read_ExtraLong_Process_Hold();
    // 读取 超长加工界面寄存器1
    void read_ExtraLong_Process_Hold_1();
    // 读取 超长加工界面寄存器2
    void read_ExtraLong_Process_Hold_2();
    // 计算 超长料长 上下限
    void calculate_ExtraLong_Length_Max_And_Min();

    // 读取手动加工界面 - 超短加工 寄存器
    Q_INVOKABLE void read_ExtraShort_Process_Hold();
    // 读取 超短加工界面寄存器1
    void read_ExtraShort_Process_Hold_1();
    // 读取 超短加工界面寄存器2
    void read_ExtraShort_Process_Hold_2();
    // 计算 超短料长 上下限
    void calculate_ExtraShort_Length_Max_And_Min();

    // 读取手动加工界面 - 角码加工 寄存器
    Q_INVOKABLE void read_Corner_Process_Hold();
    // 读取 角码加工界面寄存器1
    void read_Corner_Process_Hold_1();
    // 读取 角码加工界面寄存器2
    void read_Corner_Process_Hold_2();

    // 读取手动加工界面 - 拉手功能 寄存器
    Q_INVOKABLE void read_Handle_Process_Hold();
    // 读取 拉手功能界面寄存器1
    void read_Handle_Process_Hold_1();
    // 读取 拉手功能界面寄存器2
    void read_Handle_Process_Hold_2();


    // 读取料单界面 - 二维码料单 寄存器
    Q_INVOKABLE void read_Material_List_QR_Code_List_Process_Hold();
    // 读取 二维码料单界面 寄存器1
    void read_QR_List_Hold_1();
    // 读取 二维码料单界面 寄存器2
    void read_QR_List_Hold_2();









    // 读取参数设置界面 - 设备参数 寄存器
    Q_INVOKABLE void read_Mechine_Parameters_Parameter_Setting_Hold();
    // 读取 设备参数寄存器1
    void read_Mechine_Parameters_Hold_1();
    // 读取 设备参数寄存器2
    void read_Mechine_Parameters_Hold_2();
    // 读取 设备参数寄存器3
    void read_Mechine_Parameters_Hold_3();
    // 读取 设备参数寄存器4
    void read_Mechine_Parameters_Hold_4();

    // 读取参数设置界面 - 伺服参数 寄存器
    Q_INVOKABLE void read_Servo_Parameters_Parameter_Setting_Hold();
    // 读取 伺服参数寄存器1
    void raed_Servo_Parameters_Hold_1();
    // 读取 伺服参数寄存器2
    void read_Servo_Parameters_Hold_2();
    // 读取 伺服参数寄存器3
    void read_Servo_Parameters_Hold_3();

    // 读取参数设置界面 - 托料架参数 寄存器
    Q_INVOKABLE void read_Bracket_Parameters_Parameter_Setting_Hold();
    // 读取 托料架参数寄存器1
    void read_Bracket_Parameter_Hold_1();
    // 读取 托料架参数寄存器2
    void read_Bracket_Parameter_Hold_2();
    // 读取 托料架参数寄存器3
    void read_Bracket_Parameter_Hold_3();

    // 读取参数设置界面 - 位置补偿 寄存器
    Q_INVOKABLE void read_Location_Compensate_Parameter_Setting_Hold();
    // 读取 位置补偿参数 寄存器1
    void read_Location_Compensate_Hold_1();
    // 读取 位置补偿参数 寄存器2
    void read_Location_Compensate_Hold_2();

    // 读取参数设置界面 - 任意位置补偿 寄存器
    Q_INVOKABLE void read_Any_Location_Compensate_Parameter_Setting_Hold();
    // 读取 任意位置补偿 寄存器1
    void read_Any_Location_Compensate_Hold_1();
    // 读取 任意位置补偿 寄存器2
    void read_Any_Location_Compensate_Hold_2();

    QString PLC_Version_Code() const;
    void setPLC_Version_Code(const QString &newPLC_Version_Code);

    bool PLC_ConnectState() const;
    void setPLC_ConnectState(bool newPLC_ConnectState);

    QString Current_Location() const;
    void setCurrent_Location(const QString &newCurrent_Location);

    QString OriginValue() const;
    void setOriginValue(const QString &newOriginValue);

    QString MaterialLength_NormalProcess() const;
    void setMaterialLength_NormalProcess(const QString &newMaterialLength_NormalProcess);

    QString MaterialHeight_NormalProcess() const;
    void setMaterialHeight_NormalProcess(const QString &newMaterialHeight_NormalProcess);

    int SawsMode() const;
    void setSawsMode(int newSawsMode);

    QString CutSegments_NormalProcess() const;
    void setCutSegments_NormalProcess(const QString &newCutSegments_NormalProcess);

    QString CurrentCutSegments_NormalProcess() const;
    void setCurrentCutSegments_NormalProcess(const QString &newCurrentCutSegments_NormalProcess);

    QString MaterialHeightObserveValue() const;
    void setMaterialHeightObserveValue(const QString &newMaterialHeightObserveValue);

    QString Manual_Location_Speed() const;
    void setManual_Location_Speed(const QString &newManual_Location_Speed);

    QString LeftSaws_OutTime() const;
    void setLeftSaws_OutTime(const QString &newLeftSaws_OutTime);

    QString LeftSaws_45_Compensate() const;
    void setLeftSaws_45_Compensate(const QString &newLeftSaws_45_Compensate);

    QString Material_Height_Observe_Time() const;
    void setMaterial_Height_Observe_Time(const QString &newMaterial_Height_Observe_Time);

    QString Material_Height_Ruler_Scale() const;
    void setMaterial_Height_Ruler_Scale(const QString &newMaterial_Height_Ruler_Scale);

    QString Material_Height_Observe_Base() const;
    void setMaterial_Height_Observe_Base(const QString &newMaterial_Height_Observe_Base);

    QString ImpactActiveTime() const;
    void setImpactActiveTime(const QString &newImpactActiveTime);

    QString Auto_Location_Speed() const;
    void setAuto_Location_Speed(const QString &newAuto_Location_Speed);

    QString RightSaws_OutTime() const;
    void setRightSaws_OutTime(const QString &newRightSaws_OutTime);

    QString RightSaws_45_Compensate() const;
    void setRightSaws_45_Compensate(const QString &newRightSaws_45_Compensate);

    QString Left_Right_Blow_Time() const;
    void setLeft_Right_Blow_Time(const QString &newLeft_Right_Blow_Time);

    QString Safe_Distance_45() const;
    void setSafe_Distance_45(const QString &newSafe_Distance_45);

    QString Electric_Valve_Power_Off_Time() const;
    void setElectric_Valve_Power_Off_Time(const QString &newElectric_Valve_Power_Off_Time);

    QString Per_Rotation_Pulse() const;
    void setPer_Rotation_Pulse(const QString &newPer_Rotation_Pulse);

    QString Max_Cut_Length() const;
    void setMax_Cut_Length(const QString &newMax_Cut_Length);

    QString Find_Zero_High_Speed() const;
    void setFind_Zero_High_Speed(const QString &newFind_Zero_High_Speed);

    QString Acc_Dec_Time() const;
    void setAcc_Dec_Time(const QString &newAcc_Dec_Time);

    QString Brake_Open_Time() const;
    void setBrake_Open_Time(const QString &newBrake_Open_Time);

    QString Per_Rotation_Distance() const;
    void setPer_Rotation_Distance(const QString &newPer_Rotation_Distance);

    QString Reverse_Soft_Limit() const;
    void setReverse_Soft_Limit(const QString &newReverse_Soft_Limit);

    QString Find_Zero_Low_Speed() const;
    void setFind_Zero_Low_Speed(const QString &newFind_Zero_Low_Speed);

    QString Brake_Close_Delay() const;
    void setBrake_Close_Delay(const QString &newBrake_Close_Delay);

    QString Core_Number() const;
    void setCore_Number(const QString &newCore_Number);

    QString Bracket_Safe_Distance() const;
    void setBracket_Safe_Distance(const QString &newBracket_Safe_Distance);

    QString Bracket_Front_Location() const;
    void setBracket_Front_Location(const QString &newBracket_Front_Location);

    QString Bracket_Mid_Min() const;
    void setBracket_Mid_Min(const QString &newBracket_Mid_Min);

    QString Bracket_Mid_Max() const;
    void setBracket_Mid_Max(const QString &newBracket_Mid_Max);

    QString Bracket_Back_Location() const;
    void setBracket_Back_Location(const QString &newBracket_Back_Location);

    QString Location_Compensate_1() const;
    void setLocation_Compensate_1(const QString &newLocation_Compensate_1);

    QString Location_Compensate_2() const;
    void setLocation_Compensate_2(const QString &newLocation_Compensate_2);

    QString Location_Compensate_3() const;
    void setLocation_Compensate_3(const QString &newLocation_Compensate_3);

    QString Location_Compensate_4() const;
    void setLocation_Compensate_4(const QString &newLocation_Compensate_4);

    QString Location_Compensate_5() const;
    void setLocation_Compensate_5(const QString &newLocation_Compensate_5);

    QString Location_Compensate_6() const;
    void setLocation_Compensate_6(const QString &newLocation_Compensate_6);

    QString Location_Compensate_7() const;
    void setLocation_Compensate_7(const QString &newLocation_Compensate_7);

    QString Location_Compensate_8() const;
    void setLocation_Compensate_8(const QString &newLocation_Compensate_8);

    QString Location_Compensate_9() const;
    void setLocation_Compensate_9(const QString &newLocation_Compensate_9);

    QString Location_Compensate_10() const;
    void setLocation_Compensate_10(const QString &newLocation_Compensate_10);

    QString Location_Compensate_11() const;
    void setLocation_Compensate_11(const QString &newLocation_Compensate_11);

    QString Location_Compensate_12() const;
    void setLocation_Compensate_12(const QString &newLocation_Compensate_12);

    QString Location_Compensate_13() const;
    void setLocation_Compensate_13(const QString &newLocation_Compensate_13);

    QString Location_Compensate_14() const;
    void setLocation_Compensate_14(const QString &newLocation_Compensate_14);

    QString Location_Compensate_15() const;
    void setLocation_Compensate_15(const QString &newLocation_Compensate_15);

    QString Location_Compensate_16() const;
    void setLocation_Compensate_16(const QString &newLocation_Compensate_16);

    QString Location_Compensate_17() const;
    void setLocation_Compensate_17(const QString &newLocation_Compensate_17);

    QString Location_Compensate_18() const;
    void setLocation_Compensate_18(const QString &newLocation_Compensate_18);

    QString Location_Compensate_19() const;
    void setLocation_Compensate_19(const QString &newLocation_Compensate_19);

    QString Location_Compensate_20() const;
    void setLocation_Compensate_20(const QString &newLocation_Compensate_20);

    QString Location_Compensate_21() const;
    void setLocation_Compensate_21(const QString &newLocation_Compensate_21);

    QString Location_Compensate_22() const;
    void setLocation_Compensate_22(const QString &newLocation_Compensate_22);

    QString Location_Compensate_23() const;
    void setLocation_Compensate_23(const QString &newLocation_Compensate_23);

    QString Location_Compensate_24() const;
    void setLocation_Compensate_24(const QString &newLocation_Compensate_24);

    QString Location_Compensate_25() const;
    void setLocation_Compensate_25(const QString &newLocation_Compensate_25);

    QString Location_Compensate_26() const;
    void setLocation_Compensate_26(const QString &newLocation_Compensate_26);

    QString Location_Compensate_27() const;
    void setLocation_Compensate_27(const QString &newLocation_Compensate_27);

    QString Location_Compensate_28() const;
    void setLocation_Compensate_28(const QString &newLocation_Compensate_28);

    QString Location_Compensate_29() const;
    void setLocation_Compensate_29(const QString &newLocation_Compensate_29);

    QString Swing_Corner_Compensate_Min() const;
    void setSwing_Corner_Compensate_Min(const QString &newSwing_Corner_Compensate_Min);

    QString Swing_Corner_Compensate_Max() const;
    void setSwing_Corner_Compensate_Max(const QString &newSwing_Corner_Compensate_Max);

    QString Swing_Corner_Compensate() const;
    void setSwing_Corner_Compensate(const QString &newSwing_Corner_Compensate);

    QString Any_Location_Compensate_1_Min() const;
    void setAny_Location_Compensate_1_Min(const QString &newAny_Location_Compensate_1_Min);

    QString Any_Location_Compensate_1_Max() const;
    void setAny_Location_Compensate_1_Max(const QString &newAny_Location_Compensate_1_Max);

    QString Any_Location_Compensate_1() const;
    void setAny_Location_Compensate_1(const QString &newAny_Location_Compensate_1);

    QString Any_Location_Compensate_2_Min() const;
    void setAny_Location_Compensate_2_Min(const QString &newAny_Location_Compensate_2_Min);

    QString Any_Location_Compensate_2_Max() const;
    void setAny_Location_Compensate_2_Max(const QString &newAny_Location_Compensate_2_Max);

    QString Any_Location_Compensate_2() const;
    void setAny_Location_Compensate_2(const QString &newAny_Location_Compensate_2);

    QString Any_Location_Compensate_3_Min() const;
    void setAny_Location_Compensate_3_Min(const QString &newAny_Location_Compensate_3_Min);

    QString Any_Location_Compensate_3_Max() const;
    void setAny_Location_Compensate_3_Max(const QString &newAny_Location_Compensate_3_Max);

    QString Any_Location_Compensate_3() const;
    void setAny_Location_Compensate_3(const QString &newAny_Location_Compensate_3);

    QString Any_Location_Compensate_4_Min() const;
    void setAny_Location_Compensate_4_Min(const QString &newAny_Location_Compensate_4_Min);

    QString Any_Location_Compensate_4_Max() const;
    void setAny_Location_Compensate_4_Max(const QString &newAny_Location_Compensate_4_Max);

    QString Any_Location_Compensate_4() const;
    void setAny_Location_Compensate_4(const QString &newAny_Location_Compensate_4);

    QString Any_Location_Compensate_5_Min() const;
    void setAny_Location_Compensate_5_Min(const QString &newAny_Location_Compensate_5_Min);

    QString Any_Location_Compensate_5_Max() const;
    void setAny_Location_Compensate_5_Max(const QString &newAny_Location_Compensate_5_Max);

    QString Any_Location_Compensate_5() const;
    void setAny_Location_Compensate_5(const QString &newAny_Location_Compensate_5);

    QString Any_Location_Compensate_6_Min() const;
    void setAny_Location_Compensate_6_Min(const QString &newAny_Location_Compensate_6_Min);

    QString Any_Location_Compensate_6_Max() const;
    void setAny_Location_Compensate_6_Max(const QString &newAny_Location_Compensate_6_Max);

    QString Any_Location_Compensate_6() const;
    void setAny_Location_Compensate_6(const QString &newAny_Location_Compensate_6);

    QString Any_Location_Compensate_7_Min() const;
    void setAny_Location_Compensate_7_Min(const QString &newAny_Location_Compensate_7_Min);

    QString Any_Location_Compensate_7_Max() const;
    void setAny_Location_Compensate_7_Max(const QString &newAny_Location_Compensate_7_Max);

    QString Any_Location_Compensate_7() const;
    void setAny_Location_Compensate_7(const QString &newAny_Location_Compensate_7);

    QString Any_Location_Compensate_8_Min() const;
    void setAny_Location_Compensate_8_Min(const QString &newAny_Location_Compensate_8_Min);

    QString Any_Location_Compensate_8_Max() const;
    void setAny_Location_Compensate_8_Max(const QString &newAny_Location_Compensate_8_Max);

    QString Any_Location_Compensate_8() const;
    void setAny_Location_Compensate_8(const QString &newAny_Location_Compensate_8);

    QString Any_Location_Compensate_9_Min() const;
    void setAny_Location_Compensate_9_Min(const QString &newAny_Location_Compensate_9_Min);

    QString Any_Location_Compensate_9_Max() const;
    void setAny_Location_Compensate_9_Max(const QString &newAny_Location_Compensate_9_Max);

    QString Any_Location_Compensate_9() const;
    void setAny_Location_Compensate_9(const QString &newAny_Location_Compensate_9);

    QString Any_Location_Compensate_10_Min() const;
    void setAny_Location_Compensate_10_Min(const QString &newAny_Location_Compensate_10_Min);

    QString Any_Location_Compensate_10_Max() const;
    void setAny_Location_Compensate_10_Max(const QString &newAny_Location_Compensate_10_Max);

    QString Any_Location_Compensate_10() const;
    void setAny_Location_Compensate_10(const QString &newAny_Location_Compensate_10);

    QString Any_Location_Compensate_11_Min() const;
    void setAny_Location_Compensate_11_Min(const QString &newAny_Location_Compensate_11_Min);

    QString Any_Location_Compensate_11_Max() const;
    void setAny_Location_Compensate_11_Max(const QString &newAny_Location_Compensate_11_Max);

    QString Any_Location_Compensate_11() const;
    void setAny_Location_Compensate_11(const QString &newAny_Location_Compensate_11);

    QString Any_Location_Compensate_12_Min() const;
    void setAny_Location_Compensate_12_Min(const QString &newAny_Location_Compensate_12_Min);

    QString Any_Location_Compensate_12_Max() const;
    void setAny_Location_Compensate_12_Max(const QString &newAny_Location_Compensate_12_Max);

    QString Any_Location_Compensate_12() const;
    void setAny_Location_Compensate_12(const QString &newAny_Location_Compensate_12);

    QString Any_Location_Compensate_13_Min() const;
    void setAny_Location_Compensate_13_Min(const QString &newAny_Location_Compensate_13_Min);

    QString Any_Location_Compensate_13_Max() const;
    void setAny_Location_Compensate_13_Max(const QString &newAny_Location_Compensate_13_Max);

    QString Any_Location_Compensate_13() const;
    void setAny_Location_Compensate_13(const QString &newAny_Location_Compensate_13);

    QString Any_Location_Compensate_14_Min() const;
    void setAny_Location_Compensate_14_Min(const QString &newAny_Location_Compensate_14_Min);

    QString Any_Location_Compensate_14_Max() const;
    void setAny_Location_Compensate_14_Max(const QString &newAny_Location_Compensate_14_Max);

    QString Any_Location_Compensate_14() const;
    void setAny_Location_Compensate_14(const QString &newAny_Location_Compensate_14);

    QString Any_Location_Compensate_15_Min() const;
    void setAny_Location_Compensate_15_Min(const QString &newAny_Location_Compensate_15_Min);

    QString Any_Location_Compensate_15_Max() const;
    void setAny_Location_Compensate_15_Max(const QString &newAny_Location_Compensate_15_Max);

    QString Any_Location_Compensate_15() const;
    void setAny_Location_Compensate_15(const QString &newAny_Location_Compensate_15);

    QString Any_Location_Compensate_16_Min() const;
    void setAny_Location_Compensate_16_Min(const QString &newAny_Location_Compensate_16_Min);

    QString Any_Location_Compensate_16_Max() const;
    void setAny_Location_Compensate_16_Max(const QString &newAny_Location_Compensate_16_Max);

    QString Any_Location_Compensate_16() const;
    void setAny_Location_Compensate_16(const QString &newAny_Location_Compensate_16);

    QString Any_Location_Compensate_17_Min() const;
    void setAny_Location_Compensate_17_Min(const QString &newAny_Location_Compensate_17_Min);

    QString Any_Location_Compensate_17_Max() const;
    void setAny_Location_Compensate_17_Max(const QString &newAny_Location_Compensate_17_Max);

    QString Any_Location_Compensate_17() const;
    void setAny_Location_Compensate_17(const QString &newAny_Location_Compensate_17);

    QString Any_Location_Compensate_18_Min() const;
    void setAny_Location_Compensate_18_Min(const QString &newAny_Location_Compensate_18_Min);

    QString Any_Location_Compensate_18_Max() const;
    void setAny_Location_Compensate_18_Max(const QString &newAny_Location_Compensate_18_Max);

    QString Any_Location_Compensate_18() const;
    void setAny_Location_Compensate_18(const QString &newAny_Location_Compensate_18);

    QString Any_Location_Compensate_19_Min() const;
    void setAny_Location_Compensate_19_Min(const QString &newAny_Location_Compensate_19_Min);

    QString Any_Location_Compensate_19_Max() const;
    void setAny_Location_Compensate_19_Max(const QString &newAny_Location_Compensate_19_Max);

    QString Any_Location_Compensate_19() const;
    void setAny_Location_Compensate_19(const QString &newAny_Location_Compensate_19);

    QString Any_Location_Compensate_20_Min() const;
    void setAny_Location_Compensate_20_Min(const QString &newAny_Location_Compensate_20_Min);

    QString Any_Location_Compensate_20_Max() const;
    void setAny_Location_Compensate_20_Max(const QString &newAny_Location_Compensate_20_Max);

    QString Any_Location_Compensate_20() const;
    void setAny_Location_Compensate_20(const QString &newAny_Location_Compensate_20);

    QString ExtraLong_MaterialLength() const;
    void setExtraLong_MaterialLength(const QString &newExtraLong_MaterialLength);

    QString ExtraLong_MaterialLength_Compensate() const;
    void setExtraLong_MaterialLength_Compensate(
        const QString &newExtraLong_MaterialLength_Compensate);

    QString ExtraShort_MaterialLength() const;
    void setExtraShort_MaterialLength(const QString &newExtraShort_MaterialLength);

    QString ExtraShort_Compensate() const;
    void setExtraShort_Compensate(const QString &newExtraShort_Compensate);

    QString Pull_Back_Distance() const;
    void setPull_Back_Distance(const QString &newPull_Back_Distance);

    QString Corner_MaterialLength() const;
    void setCorner_MaterialLength(const QString &newCorner_MaterialLength);

    QString Corner_MaterialLength_Min() const;
    void setCorner_MaterialLength_Min(const QString &newCorner_MaterialLength_Min);

    QString Corner_Length() const;
    void setCorner_Length(const QString &newCorner_Length);

    QString Corner_Cut_Segments() const;
    void setCorner_Cut_Segments(const QString &newCorner_Cut_Segments);

    QString Corner_Knife_Compensate() const;
    void setCorner_Knife_Compensate(const QString &newCorner_Knife_Compensate);

    QString Current_Corner_Segments() const;
    void setCurrent_Corner_Segments(const QString &newCurrent_Corner_Segments);

    QString Worked_Corner_Segments() const;
    void setWorked_Corner_Segments(const QString &newWorked_Corner_Segments);

    QString Handle_Location() const;
    void setHandle_Location(const QString &newHandle_Location);

    QString Handle_Location_Compensate() const;
    void setHandle_Location_Compensate(const QString &newHandle_Location_Compensate);

    QString Handle_Width() const;
    void setHandle_Width(const QString &newHandle_Width);

    bool X0() const;
    void setX0(bool newX0);

    bool X1() const;
    void setX1(bool newX1);

    bool X2() const;
    void setX2(bool newX2);

    bool X3() const;
    void setX3(bool newX3);

    bool X4() const;
    void setX4(bool newX4);

    bool X5() const;
    void setX5(bool newX5);

    bool X6() const;
    void setX6(bool newX6);

    bool X7() const;
    void setX7(bool newX7);

    bool X10() const;
    void setX10(bool newX10);

    bool X11() const;
    void setX11(bool newX11);

    bool X12() const;
    void setX12(bool newX12);

    bool X13() const;
    void setX13(bool newX13);

    bool X14() const;
    void setX14(bool newX14);

    bool X15() const;
    void setX15(bool newX15);

    bool X16() const;
    void setX16(bool newX16);

    bool X17() const;
    void setX17(bool newX17);

    bool X20() const;
    void setX20(bool newX20);

    bool X21() const;
    void setX21(bool newX21);

    bool X22() const;
    void setX22(bool newX22);

    bool Y0() const;
    void setY0(bool newY0);

    bool Y1() const;
    void setY1(bool newY1);

    bool Y2() const;
    void setY2(bool newY2);

    bool Y3() const;
    void setY3(bool newY3);

    bool Y4() const;
    void setY4(bool newY4);

    bool Y5() const;
    void setY5(bool newY5);

    bool Y6() const;
    void setY6(bool newY6);

    bool Y7() const;
    void setY7(bool newY7);

    bool Y10() const;
    void setY10(bool newY10);

    bool Y11() const;
    void setY11(bool newY11);

    bool Y12() const;
    void setY12(bool newY12);

    bool Y13() const;
    void setY13(bool newY13);

    bool Y14() const;
    void setY14(bool newY14);

    bool Y15() const;
    void setY15(bool newY15);

    bool Y16() const;
    void setY16(bool newY16);

    bool Y17() const;
    void setY17(bool newY17);

    bool Y20() const;
    void setY20(bool newY20);

    bool Y21() const;
    void setY21(bool newY21);

    bool Y22() const;
    void setY22(bool newY22);

    bool Y23() const;
    void setY23(bool newY23);

    bool Y24() const;
    void setY24(bool newY24);

    bool Y25() const;
    void setY25(bool newY25);

    bool M_42() const;
    void setM_42(bool newM_42);

    bool M_43() const;
    void setM_43(bool newM_43);

    bool M_47() const;
    void setM_47(bool newM_47);

    bool M_52() const;
    void setM_52(bool newM_52);

    bool M_56() const;
    void setM_56(bool newM_56);

    bool M_57() const;
    void setM_57(bool newM_57);

    bool M_58() const;
    void setM_58(bool newM_58);

    bool M_59() const;
    void setM_59(bool newM_59);

    bool M_64() const;
    void setM_64(bool newM_64);

    bool M_68() const;
    void setM_68(bool newM_68);

    bool M_69() const;
    void setM_69(bool newM_69);

    bool M_73() const;
    void setM_73(bool newM_73);

    bool M_76() const;
    void setM_76(bool newM_76);

    bool M_77() const;
    void setM_77(bool newM_77);

    bool M_80() const;
    void setM_80(bool newM_80);

    bool M_134() const;
    void setM_134(bool newM_134);

    bool M_137() const;
    void setM_137(bool newM_137);

    bool M_143() const;
    void setM_143(bool newM_143);

    bool M_149() const;
    void setM_149(bool newM_149);

    bool M_152() const;
    void setM_152(bool newM_152);

    bool M_153() const;
    void setM_153(bool newM_153);

    bool M_159() const;
    void setM_159(bool newM_159);

    bool M_164() const;
    void setM_164(bool newM_164);

    bool M_170() const;
    void setM_170(bool newM_170);

    bool M_196() const;
    void setM_196(bool newM_196);

    bool M_197() const;
    void setM_197(bool newM_197);

    bool M_250() const;
    void setM_250(bool newM_250);

    bool M_251() const;
    void setM_251(bool newM_251);

    bool M_252() const;
    void setM_252(bool newM_252);

    QString Mechine_Saws_Mode() const;
    void setMechine_Saws_Mode(const QString &newMechine_Saws_Mode);

    bool M_390() const;
    void setM_390(bool newM_390);

    bool M_391() const;
    void setM_391(bool newM_391);

    bool M_394() const;
    void setM_394(bool newM_394);

    bool M_239() const;
    void setM_239(bool newM_239);

    bool M_240() const;
    void setM_240(bool newM_240);

    bool M_241() const;
    void setM_241(bool newM_241);

    bool M_528() const;
    void setM_528(bool newM_528);

    bool M_510() const;
    void setM_510(bool newM_510);

    bool M_509() const;
    void setM_509(bool newM_509);

    bool M_400() const;
    void setM_400(bool newM_400);

    bool M_398() const;
    void setM_398(bool newM_398);

    bool M_397() const;
    void setM_397(bool newM_397);

    bool M_396() const;
    void setM_396(bool newM_396);

    bool M_500() const;
    void setM_500(bool newM_500);

    bool M_501() const;
    void setM_501(bool newM_501);

    bool M_392() const;
    void setM_392(bool newM_392);

    bool M_393() const;
    void setM_393(bool newM_393);

    bool M_502() const;
    void setM_502(bool newM_502);

    bool M_503() const;
    void setM_503(bool newM_503);

    bool M_529() const;
    void setM_529(bool newM_529);

    bool M_530() const;
    void setM_530(bool newM_530);

    bool M_505() const;
    void setM_505(bool newM_505);

    bool M_506() const;
    void setM_506(bool newM_506);

    bool M_507() const;
    void setM_507(bool newM_507);

    bool M_508() const;
    void setM_508(bool newM_508);

    bool M_6() const;
    void setM_6(bool newM_6);

    bool M_7() const;
    void setM_7(bool newM_7);

    bool M_9() const;
    void setM_9(bool newM_9);

    bool M_96() const;
    void setM_96(bool newM_96);

    bool M_97() const;
    void setM_97(bool newM_97);

    bool M_98() const;
    void setM_98(bool newM_98);

    bool M_103() const;
    void setM_103(bool newM_103);

    bool M_2() const;
    void setM_2(bool newM_2);

    bool M_3() const;
    void setM_3(bool newM_3);

    bool M_31() const;
    void setM_31(bool newM_31);

    bool M_36() const;
    void setM_36(bool newM_36);

    bool M_243() const;
    void setM_243(bool newM_243);

    bool M_244() const;
    void setM_244(bool newM_244);

    bool M_245() const;
    void setM_245(bool newM_245);

    bool M_515() const;
    void setM_515(bool newM_515);

    bool M_516() const;
    void setM_516(bool newM_516);

    bool M_517() const;
    void setM_517(bool newM_517);

    bool M_512() const;
    void setM_512(bool newM_512);

    bool M_514() const;
    void setM_514(bool newM_514);

    bool M_499() const;
    void setM_499(bool newM_499);

    bool M_421() const;
    void setM_421(bool newM_421);

    bool M_401() const;
    void setM_401(bool newM_401);

    bool M_402() const;
    void setM_402(bool newM_402);

    bool M_403() const;
    void setM_403(bool newM_403);

    bool M_404() const;
    void setM_404(bool newM_404);

    bool M_405() const;
    void setM_405(bool newM_405);

    bool M_406() const;
    void setM_406(bool newM_406);

    bool M_407() const;
    void setM_407(bool newM_407);

    bool M_408() const;
    void setM_408(bool newM_408);

    bool M_409() const;
    void setM_409(bool newM_409);

    bool M_410() const;
    void setM_410(bool newM_410);

    bool M_411() const;
    void setM_411(bool newM_411);

    bool M_412() const;
    void setM_412(bool newM_412);

    bool M_413() const;
    void setM_413(bool newM_413);

    bool M_414() const;
    void setM_414(bool newM_414);

    bool M_415() const;
    void setM_415(bool newM_415);

    bool M_416() const;
    void setM_416(bool newM_416);

    bool M_417() const;
    void setM_417(bool newM_417);

    bool M_418() const;
    void setM_418(bool newM_418);

    bool M_419() const;
    void setM_419(bool newM_419);

    bool M_420() const;
    void setM_420(bool newM_420);

    bool M_511() const;
    void setM_511(bool newM_511);

    QString Printer_Material_Length() const;
    void setPrinter_Material_Length(const QString &newPrinter_Material_Length);

    QString Printer_Material_Height() const;
    void setPrinter_Material_Height(const QString &newPrinter_Material_Height);

    bool M_135() const;
    void setM_135(bool newM_135);

    bool M_61() const;
    void setM_61(bool newM_61);

    QString QR_List_CutLength_1() const;
    void setQR_List_CutLength_1(const QString &newQR_List_CutLength_1);

    QString QR_List_CutLength_2() const;
    void setQR_List_CutLength_2(const QString &newQR_List_CutLength_2);

    QString QR_List_CutLength_3() const;
    void setQR_List_CutLength_3(const QString &newQR_List_CutLength_3);

    QString QR_List_CutLength_4() const;
    void setQR_List_CutLength_4(const QString &newQR_List_CutLength_4);

    QString QR_List_CutLength_5() const;
    void setQR_List_CutLength_5(const QString &newQR_List_CutLength_5);

    QString QR_List_CutLength_6() const;
    void setQR_List_CutLength_6(const QString &newQR_List_CutLength_6);

    QString QR_List_CutLength_7() const;
    void setQR_List_CutLength_7(const QString &newQR_List_CutLength_7);

    QString QR_List_CutLength_8() const;
    void setQR_List_CutLength_8(const QString &newQR_List_CutLength_8);

    QString QR_List_CutLength_9() const;
    void setQR_List_CutLength_9(const QString &newQR_List_CutLength_9);

    QString QR_List_CutLength_10() const;
    void setQR_List_CutLength_10(const QString &newQR_List_CutLength_10);

    QString QR_List_CutLength_11() const;
    void setQR_List_CutLength_11(const QString &newQR_List_CutLength_11);

    QString QR_List_CutLength_12() const;
    void setQR_List_CutLength_12(const QString &newQR_List_CutLength_12);

    QString QR_List_CutLength_13() const;
    void setQR_List_CutLength_13(const QString &newQR_List_CutLength_13);

    QString QR_List_CutLength_14() const;
    void setQR_List_CutLength_14(const QString &newQR_List_CutLength_14);

    QString QR_List_CutLength_15() const;
    void setQR_List_CutLength_15(const QString &newQR_List_CutLength_15);

    QString QR_List_CutLength_16() const;
    void setQR_List_CutLength_16(const QString &newQR_List_CutLength_16);

    QString QR_List_CutLength_17() const;
    void setQR_List_CutLength_17(const QString &newQR_List_CutLength_17);

    QString QR_List_CutLength_18() const;
    void setQR_List_CutLength_18(const QString &newQR_List_CutLength_18);

    QString QR_List_CutLength_19() const;
    void setQR_List_CutLength_19(const QString &newQR_List_CutLength_19);

    QString QR_List_CutLength_20() const;
    void setQR_List_CutLength_20(const QString &newQR_List_CutLength_20);

    QString QR_List_CutCount_1() const;
    void setQR_List_CutCount_1(const QString &newQR_List_CutCount_1);

    QString QR_List_CutCount_2() const;
    void setQR_List_CutCount_2(const QString &newQR_List_CutCount_2);

    QString QR_List_CutCount_3() const;
    void setQR_List_CutCount_3(const QString &newQR_List_CutCount_3);

    QString QR_List_CutCount_4() const;
    void setQR_List_CutCount_4(const QString &newQR_List_CutCount_4);

    QString QR_List_CutCount_5() const;
    void setQR_List_CutCount_5(const QString &newQR_List_CutCount_5);

    QString QR_List_CutCount_6() const;
    void setQR_List_CutCount_6(const QString &newQR_List_CutCount_6);

    QString QR_List_CutCount_7() const;
    void setQR_List_CutCount_7(const QString &newQR_List_CutCount_7);

    QString QR_List_CutCount_8() const;
    void setQR_List_CutCount_8(const QString &newQR_List_CutCount_8);

    QString QR_List_CutCount_9() const;
    void setQR_List_CutCount_9(const QString &newQR_List_CutCount_9);

    QString QR_List_CutCount_10() const;
    void setQR_List_CutCount_10(const QString &newQR_List_CutCount_10);

    QString QR_List_CutCount_11() const;
    void setQR_List_CutCount_11(const QString &newQR_List_CutCount_11);

    QString QR_List_CutCount_12() const;
    void setQR_List_CutCount_12(const QString &newQR_List_CutCount_12);

    QString QR_List_CutCount_13() const;
    void setQR_List_CutCount_13(const QString &newQR_List_CutCount_13);

    QString QR_List_CutCount_14() const;
    void setQR_List_CutCount_14(const QString &newQR_List_CutCount_14);

    QString QR_List_CutCount_15() const;
    void setQR_List_CutCount_15(const QString &newQR_List_CutCount_15);

    QString QR_List_CutCount_16() const;
    void setQR_List_CutCount_16(const QString &newQR_List_CutCount_16);

    QString QR_List_CutCount_17() const;
    void setQR_List_CutCount_17(const QString &newQR_List_CutCount_17);

    QString QR_List_CutCount_18() const;
    void setQR_List_CutCount_18(const QString &newQR_List_CutCount_18);

    QString QR_List_CutCount_19() const;
    void setQR_List_CutCount_19(const QString &newQR_List_CutCount_19);

    QString QR_List_CutCount_20() const;
    void setQR_List_CutCount_20(const QString &newQR_List_CutCount_20);

    QString QR_List_WorkedCount_1() const;
    void setQR_List_WorkedCount_1(const QString &newQR_List_WorkedCount_1);

    QString QR_List_WorkedCount_2() const;
    void setQR_List_WorkedCount_2(const QString &newQR_List_WorkedCount_2);

    QString QR_List_WorkedCount_3() const;
    void setQR_List_WorkedCount_3(const QString &newQR_List_WorkedCount_3);

    QString QR_List_WorkedCount_4() const;
    void setQR_List_WorkedCount_4(const QString &newQR_List_WorkedCount_4);

    QString QR_List_WorkedCount_5() const;
    void setQR_List_WorkedCount_5(const QString &newQR_List_WorkedCount_5);

    QString QR_List_WorkedCount_6() const;
    void setQR_List_WorkedCount_6(const QString &newQR_List_WorkedCount_6);

    QString QR_List_WorkedCount_7() const;
    void setQR_List_WorkedCount_7(const QString &newQR_List_WorkedCount_7);

    QString QR_List_WorkedCount_8() const;
    void setQR_List_WorkedCount_8(const QString &newQR_List_WorkedCount_8);

    QString QR_List_WorkedCount_9() const;
    void setQR_List_WorkedCount_9(const QString &newQR_List_WorkedCount_9);

    QString QR_List_WorkedCount_10() const;
    void setQR_List_WorkedCount_10(const QString &newQR_List_WorkedCount_10);

    QString QR_List_WorkedCount_11() const;
    void setQR_List_WorkedCount_11(const QString &newQR_List_WorkedCount_11);

    QString QR_List_WorkedCount_12() const;
    void setQR_List_WorkedCount_12(const QString &newQR_List_WorkedCount_12);

    QString QR_List_WorkedCount_13() const;
    void setQR_List_WorkedCount_13(const QString &newQR_List_WorkedCount_13);

    QString QR_List_WorkedCount_14() const;
    void setQR_List_WorkedCount_14(const QString &newQR_List_WorkedCount_14);

    QString QR_List_WorkedCount_15() const;
    void setQR_List_WorkedCount_15(const QString &newQR_List_WorkedCount_15);

    QString QR_List_WorkedCount_16() const;
    void setQR_List_WorkedCount_16(const QString &newQR_List_WorkedCount_16);

    QString QR_List_WorkedCount_17() const;
    void setQR_List_WorkedCount_17(const QString &newQR_List_WorkedCount_17);

    QString QR_List_WorkedCount_18() const;
    void setQR_List_WorkedCount_18(const QString &newQR_List_WorkedCount_18);

    QString QR_List_WorkedCount_19() const;
    void setQR_List_WorkedCount_19(const QString &newQR_List_WorkedCount_19);

    QString QR_List_WorkedCount_20() const;
    void setQR_List_WorkedCount_20(const QString &newQR_List_WorkedCount_20);

    QString QR_List_Left_1() const;
    void setQR_List_Left_1(const QString &newQR_List_Left_1);

    QString QR_List_Right_1() const;
    void setQR_List_Right_1(const QString &newQR_List_Right_1);

    QString QR_List_Left_2() const;
    void setQR_List_Left_2(const QString &newQR_List_Left_2);

    QString QR_List_Right_2() const;
    void setQR_List_Right_2(const QString &newQR_List_Right_2);

    QString QR_List_Left_3() const;
    void setQR_List_Left_3(const QString &newQR_List_Left_3);

    QString QR_List_Right_3() const;
    void setQR_List_Right_3(const QString &newQR_List_Right_3);

    QString QR_List_Left_4() const;
    void setQR_List_Left_4(const QString &newQR_List_Left_4);

    QString QR_List_Right_4() const;
    void setQR_List_Right_4(const QString &newQR_List_Right_4);

    QString QR_List_Left_5() const;
    void setQR_List_Left_5(const QString &newQR_List_Left_5);

    QString QR_List_Right_5() const;
    void setQR_List_Right_5(const QString &newQR_List_Right_5);

    QString QR_List_Left_6() const;
    void setQR_List_Left_6(const QString &newQR_List_Left_6);

    QString QR_List_Right_6() const;
    void setQR_List_Right_6(const QString &newQR_List_Right_6);

    QString QR_List_Left_7() const;
    void setQR_List_Left_7(const QString &newQR_List_Left_7);

    QString QR_List_Right_7() const;
    void setQR_List_Right_7(const QString &newQR_List_Right_7);

    QString QR_List_Left_8() const;
    void setQR_List_Left_8(const QString &newQR_List_Left_8);

    QString QR_List_Right_8() const;
    void setQR_List_Right_8(const QString &newQR_List_Right_8);

    QString QR_List_Left_9() const;
    void setQR_List_Left_9(const QString &newQR_List_Left_9);

    QString QR_List_Right_9() const;
    void setQR_List_Right_9(const QString &newQR_List_Right_9);

    QString QR_List_Left_10() const;
    void setQR_List_Left_10(const QString &newQR_List_Left_10);

    QString QR_List_Right_10() const;
    void setQR_List_Right_10(const QString &newQR_List_Right_10);

    QString QR_List_Left_11() const;
    void setQR_List_Left_11(const QString &newQR_List_Left_11);

    QString QR_List_Right_11() const;
    void setQR_List_Right_11(const QString &newQR_List_Right_11);

    QString QR_List_Left_12() const;
    void setQR_List_Left_12(const QString &newQR_List_Left_12);

    QString QR_List_Right_12() const;
    void setQR_List_Right_12(const QString &newQR_List_Right_12);

    QString QR_List_Left_13() const;
    void setQR_List_Left_13(const QString &newQR_List_Left_13);

    QString QR_List_Right_13() const;
    void setQR_List_Right_13(const QString &newQR_List_Right_13);

    QString QR_List_Left_14() const;
    void setQR_List_Left_14(const QString &newQR_List_Left_14);

    QString QR_List_Right_14() const;
    void setQR_List_Right_14(const QString &newQR_List_Right_14);

    QString QR_List_Left_15() const;
    void setQR_List_Left_15(const QString &newQR_List_Left_15);

    QString QR_List_Right_15() const;
    void setQR_List_Right_15(const QString &newQR_List_Right_15);

    QString QR_List_Left_16() const;
    void setQR_List_Left_16(const QString &newQR_List_Left_16);

    QString QR_List_Right_16() const;
    void setQR_List_Right_16(const QString &newQR_List_Right_16);

    QString QR_List_Left_17() const;
    void setQR_List_Left_17(const QString &newQR_List_Left_17);

    QString QR_List_Right_17() const;
    void setQR_List_Right_17(const QString &newQR_List_Right_17);

    QString QR_List_Left_18() const;
    void setQR_List_Left_18(const QString &newQR_List_Left_18);

    QString QR_List_Right_18() const;
    void setQR_List_Right_18(const QString &newQR_List_Right_18);

    QString QR_List_Left_19() const;
    void setQR_List_Left_19(const QString &newQR_List_Left_19);

    QString QR_List_Right_19() const;
    void setQR_List_Right_19(const QString &newQR_List_Right_19);

    QString QR_List_Left_20() const;
    void setQR_List_Left_20(const QString &newQR_List_Left_20);

    QString QR_List_Right_20() const;
    void setQR_List_Right_20(const QString &newQR_List_Right_20);

    int Current_QR_Type() const;
    void setCurrent_QR_Type(int newCurrent_QR_Type);

    QString Current_List_Order() const;
    void setCurrent_List_Order(const QString &newCurrent_List_Order);

    QString MaterialLength_Max() const;
    void setMaterialLength_Max(const QString &newMaterialLength_Max);

    QString MaterialLength_Min() const;
    void setMaterialLength_Min(const QString &newMaterialLength_Min);

    QString ExtraShort_Max() const;
    void setExtraShort_Max(const QString &newExtraShort_Max);

    QString ExtraShort_Min() const;
    void setExtraShort_Min(const QString &newExtraShort_Min);

    QString ExtraLong_Max() const;
    void setExtraLong_Max(const QString &newExtraLong_Max);

    QString ExtraLong_Min() const;
    void setExtraLong_Min(const QString &newExtraLong_Min);

    QString Material_Worked_Count_1() const;
    void setMaterial_Worked_Count_1(const QString &newMaterial_Worked_Count_1);

    QString Material_Worked_Count_2() const;
    void setMaterial_Worked_Count_2(const QString &newMaterial_Worked_Count_2);

    QString Material_Worked_Count_3() const;
    void setMaterial_Worked_Count_3(const QString &newMaterial_Worked_Count_3);

    QString Material_Worked_Count_4() const;
    void setMaterial_Worked_Count_4(const QString &newMaterial_Worked_Count_4);

    QString Material_Worked_Count_5() const;
    void setMaterial_Worked_Count_5(const QString &newMaterial_Worked_Count_5);

    QString Material_Worked_Count_6() const;
    void setMaterial_Worked_Count_6(const QString &newMaterial_Worked_Count_6);

    QString Material_Worked_Count_7() const;
    void setMaterial_Worked_Count_7(const QString &newMaterial_Worked_Count_7);

    QString Material_Worked_Count_8() const;
    void setMaterial_Worked_Count_8(const QString &newMaterial_Worked_Count_8);

    QString Material_Worked_Count_9() const;
    void setMaterial_Worked_Count_9(const QString &newMaterial_Worked_Count_9);

    QString Material_Worked_Count_10() const;
    void setMaterial_Worked_Count_10(const QString &newMaterial_Worked_Count_10);

    QString Material_Worked_Count_11() const;
    void setMaterial_Worked_Count_11(const QString &newMaterial_Worked_Count_11);

    QString Material_Worked_Count_12() const;
    void setMaterial_Worked_Count_12(const QString &newMaterial_Worked_Count_12);

    QString Material_Worked_Count_13() const;
    void setMaterial_Worked_Count_13(const QString &newMaterial_Worked_Count_13);

    QString Material_Worked_Count_14() const;
    void setMaterial_Worked_Count_14(const QString &newMaterial_Worked_Count_14);

    QString Material_Worked_Count_15() const;
    void setMaterial_Worked_Count_15(const QString &newMaterial_Worked_Count_15);

    QString Material_Worked_Count_16() const;
    void setMaterial_Worked_Count_16(const QString &newMaterial_Worked_Count_16);

    QString Material_Worked_Count_17() const;
    void setMaterial_Worked_Count_17(const QString &newMaterial_Worked_Count_17);

    QString Material_Worked_Count_18() const;
    void setMaterial_Worked_Count_18(const QString &newMaterial_Worked_Count_18);

    QString Material_Worked_Count_19() const;
    void setMaterial_Worked_Count_19(const QString &newMaterial_Worked_Count_19);

    QString Material_Worked_Count_20() const;
    void setMaterial_Worked_Count_20(const QString &newMaterial_Worked_Count_20);

    QString Current_Local_Order() const;
    void setCurrent_Local_Order(const QString &newCurrent_Local_Order);

    bool Log_Flag() const;
    void setLog_Flag(bool newLog_Flag);

private:
    ModbusControl(QObject *parent = nullptr);
    ~ModbusControl();
    ModbusControl(const ModbusControl &) = delete;
    ModbusControl &operator=(const ModbusControl) = delete;

    QModbusRtuSerialClient *m_Modbus = nullptr;
    QTimer *m_Timer = nullptr;

    QString m_PLC_Version_Code;

    bool m_PLC_ConnectState;

    QString m_Current_Location;

    QString m_OriginValue;

    QString m_MaterialLength_NormalProcess;

    QString m_MaterialHeight_NormalProcess;

    int m_SawsMode;

    QString m_CutSegments_NormalProcess;

    QString m_CurrentCutSegments_NormalProcess;

    QString m_MaterialHeightObserveValue;

    QString m_Manual_Location_Speed;

    QString m_LeftSaws_OutTime;

    QString m_LeftSaws_45_Compensate;

    QString m_Material_Height_Observe_Time;

    QString m_Material_Height_Ruler_Scale;

    QString m_Material_Height_Observe_Base;

    QString m_ImpactActiveTime;

    QString m_Auto_Location_Speed;

    QString m_RightSaws_OutTime;

    QString m_RightSaws_45_Compensate;

    QString m_Left_Right_Blow_Time;

    QString m_Safe_Distance_45;

    QString m_Electric_Valve_Power_Off_Time;

    QString m_Per_Rotation_Pulse;

    QString m_Max_Cut_Length;

    QString m_Find_Zero_High_Speed;

    QString m_Acc_Dec_Time;

    QString m_Brake_Open_Time;

    QString m_Per_Rotation_Distance;

    QString m_Reverse_Soft_Limit;

    QString m_Find_Zero_Low_Speed;

    QString m_Brake_Close_Delay;

    QString m_Core_Number;

    QString m_Bracket_Safe_Distance;

    QString m_Bracket_Front_Location;

    QString m_Bracket_Mid_Min;

    QString m_Bracket_Mid_Max;

    QString m_Bracket_Back_Location;

    QString m_Location_Compensate_1;

    QString m_Location_Compensate_2;

    QString m_Location_Compensate_3;

    QString m_Location_Compensate_4;

    QString m_Location_Compensate_5;

    QString m_Location_Compensate_6;

    QString m_Location_Compensate_7;

    QString m_Location_Compensate_8;

    QString m_Location_Compensate_9;

    QString m_Location_Compensate_10;

    QString m_Location_Compensate_11;

    QString m_Location_Compensate_12;

    QString m_Location_Compensate_13;

    QString m_Location_Compensate_14;

    QString m_Location_Compensate_15;

    QString m_Location_Compensate_16;

    QString m_Location_Compensate_17;

    QString m_Location_Compensate_18;

    QString m_Location_Compensate_19;

    QString m_Location_Compensate_20;

    QString m_Location_Compensate_21;

    QString m_Location_Compensate_22;

    QString m_Location_Compensate_23;

    QString m_Location_Compensate_24;

    QString m_Location_Compensate_25;

    QString m_Location_Compensate_26;

    QString m_Location_Compensate_27;

    QString m_Location_Compensate_28;

    QString m_Location_Compensate_29;

    QString m_Swing_Corner_Compensate_Min;

    QString m_Swing_Corner_Compensate_Max;

    QString m_Swing_Corner_Compensate;

    QString m_Any_Location_Compensate_1_Min;

    QString m_Any_Location_Compensate_1_Max;

    QString m_Any_Location_Compensate_1;

    QString m_Any_Location_Compensate_2_Min;

    QString m_Any_Location_Compensate_2_Max;

    QString m_Any_Location_Compensate_2;

    QString m_Any_Location_Compensate_3_Min;

    QString m_Any_Location_Compensate_3_Max;

    QString m_Any_Location_Compensate_3;

    QString m_Any_Location_Compensate_4_Min;

    QString m_Any_Location_Compensate_4_Max;

    QString m_Any_Location_Compensate_4;

    QString m_Any_Location_Compensate_5_Min;

    QString m_Any_Location_Compensate_5_Max;

    QString m_Any_Location_Compensate_5;

    QString m_Any_Location_Compensate_6_Min;

    QString m_Any_Location_Compensate_6_Max;

    QString m_Any_Location_Compensate_6;

    QString m_Any_Location_Compensate_7_Min;

    QString m_Any_Location_Compensate_7_Max;

    QString m_Any_Location_Compensate_7;

    QString m_Any_Location_Compensate_8_Min;

    QString m_Any_Location_Compensate_8_Max;

    QString m_Any_Location_Compensate_8;

    QString m_Any_Location_Compensate_9_Min;

    QString m_Any_Location_Compensate_9_Max;

    QString m_Any_Location_Compensate_9;

    QString m_Any_Location_Compensate_10_Min;

    QString m_Any_Location_Compensate_10_Max;

    QString m_Any_Location_Compensate_10;

    QString m_Any_Location_Compensate_11_Min;

    QString m_Any_Location_Compensate_11_Max;

    QString m_Any_Location_Compensate_11;

    QString m_Any_Location_Compensate_12_Min;

    QString m_Any_Location_Compensate_12_Max;

    QString m_Any_Location_Compensate_12;

    QString m_Any_Location_Compensate_13_Min;

    QString m_Any_Location_Compensate_13_Max;

    QString m_Any_Location_Compensate_13;

    QString m_Any_Location_Compensate_14_Min;

    QString m_Any_Location_Compensate_14_Max;

    QString m_Any_Location_Compensate_14;

    QString m_Any_Location_Compensate_15_Min;

    QString m_Any_Location_Compensate_15_Max;

    QString m_Any_Location_Compensate_15;

    QString m_Any_Location_Compensate_16_Min;

    QString m_Any_Location_Compensate_16_Max;

    QString m_Any_Location_Compensate_16;

    QString m_Any_Location_Compensate_17_Min;

    QString m_Any_Location_Compensate_17_Max;

    QString m_Any_Location_Compensate_17;

    QString m_Any_Location_Compensate_18_Min;

    QString m_Any_Location_Compensate_18_Max;

    QString m_Any_Location_Compensate_18;

    QString m_Any_Location_Compensate_19_Min;

    QString m_Any_Location_Compensate_19_Max;

    QString m_Any_Location_Compensate_19;

    QString m_Any_Location_Compensate_20_Min;

    QString m_Any_Location_Compensate_20_Max;

    QString m_Any_Location_Compensate_20;

    QString m_ExtraLong_MaterialLength;

    QString m_ExtraLong_MaterialLength_Compensate;

    QString m_ExtraShort_MaterialLength;

    QString m_ExtraShort_Compensate;

    QString m_Pull_Back_Distance;

    QString m_Corner_MaterialLength;

    QString m_Corner_MaterialLength_Min;

    QString m_Corner_Length;

    QString m_Corner_Cut_Segments;

    QString m_Corner_Knife_Compensate;

    QString m_Current_Corner_Segments;

    QString m_Worked_Corner_Segments;

    QString m_Handle_Location;

    QString m_Handle_Location_Compensate;

    QString m_Handle_Width;

    bool m_X0;

    bool m_X1;

    bool m_X2;

    bool m_X3;

    bool m_X4;

    bool m_X5;

    bool m_X6;

    bool m_X7;

    bool m_X10;

    bool m_X11;

    bool m_X12;

    bool m_X13;

    bool m_X14;

    bool m_X15;

    bool m_X16;

    bool m_X17;

    bool m_X20;

    bool m_X21;

    bool m_X22;

    bool m_Y0;

    bool m_Y1;

    bool m_Y2;

    bool m_Y3;

    bool m_Y4;

    bool m_Y5;

    bool m_Y6;

    bool m_Y7;

    bool m_Y10;

    bool m_Y11;

    bool m_Y12;

    bool m_Y13;

    bool m_Y14;

    bool m_Y15;

    bool m_Y16;

    bool m_Y17;

    bool m_Y20;

    bool m_Y21;

    bool m_Y22;

    bool m_Y23;

    bool m_Y24;

    bool m_Y25;

    bool m_M_42;

    bool m_M_43;

    bool m_M_47;

    bool m_M_52;

    bool m_M_56;

    bool m_M_57;

    bool m_M_58;

    bool m_M_59;

    bool m_M_64;

    bool m_M_68;

    bool m_M_69;

    bool m_M_73;

    bool m_M_76;

    bool m_M_77;

    bool m_M_80;

    bool m_M_134;

    bool m_M_137;

    bool m_M_143;

    bool m_M_149;

    bool m_M_152;

    bool m_M_153;

    bool m_M_159;

    bool m_M_164;

    bool m_M_170;

    bool m_M_196;

    bool m_M_197;

    bool m_M_250;

    bool m_M_251;

    bool m_M_252;

    QString m_Mechine_Saws_Mode;

    bool m_M_390;

    bool m_M_391;

    bool m_M_394;

    bool m_M_239;

    bool m_M_240;

    bool m_M_241;

    bool m_M_528;

    bool m_M_510;

    bool m_M_509;

    bool m_M_400;

    bool m_M_398;

    bool m_M_397;

    bool m_M_396;

    bool m_M_500;

    bool m_M_501;

    bool m_M_392;

    bool m_M_393;

    bool m_M_502;

    bool m_M_503;

    bool m_M_529;

    bool m_M_530;

    bool m_M_505;

    bool m_M_506;

    bool m_M_507;

    bool m_M_508;

    bool m_M_6;

    bool m_M_7;

    bool m_M_9;

    bool m_M_96;

    bool m_M_97;

    bool m_M_98;

    bool m_M_103;

    bool m_M_2;

    bool m_M_3;

    bool m_M_31;

    bool m_M_36;

    bool m_M_243;

    bool m_M_244;

    bool m_M_245;

    bool m_M_515;

    bool m_M_516;

    bool m_M_517;

    bool m_M_512;

    bool m_M_514;

    bool m_M_499;

    bool m_M_421;

    bool m_M_401;

    bool m_M_402;

    bool m_M_403;

    bool m_M_404;

    bool m_M_405;

    bool m_M_406;

    bool m_M_407;

    bool m_M_408;

    bool m_M_409;

    bool m_M_410;

    bool m_M_411;

    bool m_M_412;

    bool m_M_413;

    bool m_M_414;

    bool m_M_415;

    bool m_M_416;

    bool m_M_417;

    bool m_M_418;

    bool m_M_419;

    bool m_M_420;

    bool m_M_511;

    QString m_Printer_Material_Length;

    QString m_Printer_Material_Height;

    bool m_M_135;

    bool m_M_61;

    QString m_QR_List_CutLength_1;

    QString m_QR_List_CutLength_2;

    QString m_QR_List_CutLength_3;

    QString m_QR_List_CutLength_4;

    QString m_QR_List_CutLength_5;

    QString m_QR_List_CutLength_6;

    QString m_QR_List_CutLength_7;

    QString m_QR_List_CutLength_8;

    QString m_QR_List_CutLength_9;

    QString m_QR_List_CutLength_10;

    QString m_QR_List_CutLength_11;

    QString m_QR_List_CutLength_12;

    QString m_QR_List_CutLength_13;

    QString m_QR_List_CutLength_14;

    QString m_QR_List_CutLength_15;

    QString m_QR_List_CutLength_16;

    QString m_QR_List_CutLength_17;

    QString m_QR_List_CutLength_18;

    QString m_QR_List_CutLength_19;

    QString m_QR_List_CutLength_20;

    QString m_QR_List_CutCount_1;

    QString m_QR_List_CutCount_2;

    QString m_QR_List_CutCount_3;

    QString m_QR_List_CutCount_4;

    QString m_QR_List_CutCount_5;

    QString m_QR_List_CutCount_6;

    QString m_QR_List_CutCount_7;

    QString m_QR_List_CutCount_8;

    QString m_QR_List_CutCount_9;

    QString m_QR_List_CutCount_10;

    QString m_QR_List_CutCount_11;

    QString m_QR_List_CutCount_12;

    QString m_QR_List_CutCount_13;

    QString m_QR_List_CutCount_14;

    QString m_QR_List_CutCount_15;

    QString m_QR_List_CutCount_16;

    QString m_QR_List_CutCount_17;

    QString m_QR_List_CutCount_18;

    QString m_QR_List_CutCount_19;

    QString m_QR_List_CutCount_20;

    QString m_QR_List_WorkedCount_1;

    QString m_QR_List_WorkedCount_2;

    QString m_QR_List_WorkedCount_3;

    QString m_QR_List_WorkedCount_4;

    QString m_QR_List_WorkedCount_5;

    QString m_QR_List_WorkedCount_6;

    QString m_QR_List_WorkedCount_7;

    QString m_QR_List_WorkedCount_8;

    QString m_QR_List_WorkedCount_9;

    QString m_QR_List_WorkedCount_10;

    QString m_QR_List_WorkedCount_11;

    QString m_QR_List_WorkedCount_12;

    QString m_QR_List_WorkedCount_13;

    QString m_QR_List_WorkedCount_14;

    QString m_QR_List_WorkedCount_15;

    QString m_QR_List_WorkedCount_16;

    QString m_QR_List_WorkedCount_17;

    QString m_QR_List_WorkedCount_18;

    QString m_QR_List_WorkedCount_19;

    QString m_QR_List_WorkedCount_20;

    QString m_QR_List_Left_1;

    QString m_QR_List_Right_1;

    QString m_QR_List_Left_2;

    QString m_QR_List_Right_2;

    QString m_QR_List_Left_3;

    QString m_QR_List_Right_3;

    QString m_QR_List_Left_4;

    QString m_QR_List_Right_4;

    QString m_QR_List_Left_5;

    QString m_QR_List_Right_5;

    QString m_QR_List_Left_6;

    QString m_QR_List_Right_6;

    QString m_QR_List_Left_7;

    QString m_QR_List_Right_7;

    QString m_QR_List_Left_8;

    QString m_QR_List_Right_8;

    QString m_QR_List_Left_9;

    QString m_QR_List_Right_9;

    QString m_QR_List_Left_10;

    QString m_QR_List_Right_10;

    QString m_QR_List_Left_11;

    QString m_QR_List_Right_11;

    QString m_QR_List_Left_12;

    QString m_QR_List_Right_12;

    QString m_QR_List_Left_13;

    QString m_QR_List_Right_13;

    QString m_QR_List_Left_14;

    QString m_QR_List_Right_14;

    QString m_QR_List_Left_15;

    QString m_QR_List_Right_15;

    QString m_QR_List_Left_16;

    QString m_QR_List_Right_16;

    QString m_QR_List_Left_17;

    QString m_QR_List_Right_17;

    QString m_QR_List_Left_18;

    QString m_QR_List_Right_18;

    QString m_QR_List_Left_19;

    QString m_QR_List_Right_19;

    QString m_QR_List_Left_20;

    QString m_QR_List_Right_20;

    int m_Current_QR_Type;

    QString m_Current_List_Order;

    QString m_MaterialLength_Max;

    QString m_MaterialLength_Min;

    QString m_ExtraShort_Max;

    QString m_ExtraShort_Min;

    QString m_ExtraLong_Max;

    QString m_ExtraLong_Min;

    QString m_Material_Worked_Count_1;

    QString m_Material_Worked_Count_2;

    QString m_Material_Worked_Count_3;

    QString m_Material_Worked_Count_4;

    QString m_Material_Worked_Count_5;

    QString m_Material_Worked_Count_6;

    QString m_Material_Worked_Count_7;

    QString m_Material_Worked_Count_8;

    QString m_Material_Worked_Count_9;

    QString m_Material_Worked_Count_10;

    QString m_Material_Worked_Count_11;

    QString m_Material_Worked_Count_12;

    QString m_Material_Worked_Count_13;

    QString m_Material_Worked_Count_14;

    QString m_Material_Worked_Count_15;

    QString m_Material_Worked_Count_16;

    QString m_Material_Worked_Count_17;

    QString m_Material_Worked_Count_18;

    QString m_Material_Worked_Count_19;

    QString m_Material_Worked_Count_20;

    QString m_Current_Local_Order;

    bool m_Log_Flag;

signals:

    //自动打印触发信号
    void send_Auto_Printer_Message_Signal(bool left,
                                          bool right,
                                          QString materialHeight,
                                          QString materialLength);

    void PLC_Version_CodeChanged();

    void PLC_ConnectStateChanged();

    void Current_LocationChanged();

    void write_Hold_Registers_32_Over_Signal(int address);

    void write_Hold_Registers_16_Over_Signal(int address);

    void OriginValueChanged();

    void MaterialLength_NormalProcessChanged();

    void MaterialHeight_NormalProcessChanged();

    void SawsModeChanged();

    void CutSegments_NormalProcessChanged();

    void CurrentCutSegments_NormalProcessChanged();

    void MaterialHeightObserveValueChanged();

    void Manual_Location_SpeedChanged();

    void LeftSaws_OutTimeChanged();

    void LeftSaws_45_CompensateChanged();

    void Material_Height_Observe_TimeChanged();

    void Material_Height_Ruler_ScaleChanged();

    void Material_Height_Observe_BaseChanged();

    void ImpactActiveTimeChanged();

    void Auto_Location_SpeedChanged();

    void RightSaws_OutTimeChanged();

    void RightSaws_45_CompensateChanged();

    void Left_Right_Blow_TimeChanged();

    void Safe_Distance_45Changed();

    void Electric_Valve_Power_Off_TimeChanged();

    void Per_Rotation_PulseChanged();

    void Max_Cut_LengthChanged();

    void Find_Zero_High_SpeedChanged();

    void Acc_Dec_TimeChanged();

    void Brake_Open_TimeChanged();

    void Per_Rotation_DistanceChanged();

    void Reverse_Soft_LimitChanged();

    void Find_Zero_Low_SpeedChanged();

    void Brake_Close_DelayChanged();

    void Core_NumberChanged();

    void Bracket_Safe_DistanceChanged();

    void Bracket_Front_LocationChanged();

    void Bracket_Mid_MinChanged();

    void Bracket_Mid_MaxChanged();

    void Bracket_Back_LocationChanged();

    void Location_Compensate_1Changed();

    void Location_Compensate_2Changed();

    void Location_Compensate_3Changed();

    void Location_Compensate_4Changed();

    void Location_Compensate_5Changed();

    void Location_Compensate_6Changed();

    void Location_Compensate_7Changed();

    void Location_Compensate_8Changed();

    void Location_Compensate_9Changed();

    void Location_Compensate_10Changed();

    void Location_Compensate_11Changed();

    void Location_Compensate_12Changed();

    void Location_Compensate_13Changed();

    void Location_Compensate_14Changed();

    void Location_Compensate_15Changed();

    void Location_Compensate_16Changed();

    void Location_Compensate_17Changed();

    void Location_Compensate_18Changed();

    void Location_Compensate_19Changed();

    void Location_Compensate_20Changed();

    void Location_Compensate_21Changed();

    void Location_Compensate_22Changed();

    void Location_Compensate_23Changed();

    void Location_Compensate_24Changed();

    void Location_Compensate_25Changed();

    void Location_Compensate_26Changed();

    void Location_Compensate_27Changed();

    void Location_Compensate_28Changed();

    void Location_Compensate_29Changed();

    void Swing_Corner_Compensate_MinChanged();

    void Swing_Corner_Compensate_MaxChanged();

    void Swing_Corner_CompensateChanged();

    void Any_Location_Compensate_1_MinChanged();

    void Any_Location_Compensate_1_MaxChanged();

    void Any_Location_Compensate_1Changed();

    void Any_Location_Compensate_2_MinChanged();

    void Any_Location_Compensate_2_MaxChanged();

    void Any_Location_Compensate_2Changed();

    void Any_Location_Compensate_3_MinChanged();

    void Any_Location_Compensate_3_MaxChanged();

    void Any_Location_Compensate_3Changed();

    void Any_Location_Compensate_4_MinChanged();

    void Any_Location_Compensate_4_MaxChanged();

    void Any_Location_Compensate_4Changed();

    void Any_Location_Compensate_5_MinChanged();

    void Any_Location_Compensate_5_MaxChanged();

    void Any_Location_Compensate_5Changed();

    void Any_Location_Compensate_6_MinChanged();

    void Any_Location_Compensate_6_MaxChanged();

    void Any_Location_Compensate_6Changed();

    void Any_Location_Compensate_7_MinChanged();

    void Any_Location_Compensate_7_MaxChanged();

    void Any_Location_Compensate_7Changed();

    void Any_Location_Compensate_8_MinChanged();

    void Any_Location_Compensate_8_MaxChanged();

    void Any_Location_Compensate_8Changed();

    void Any_Location_Compensate_9_MinChanged();

    void Any_Location_Compensate_9_MaxChanged();

    void Any_Location_Compensate_9Changed();

    void Any_Location_Compensate_10_MinChanged();

    void Any_Location_Compensate_10_MaxChanged();

    void Any_Location_Compensate_10Changed();

    void Any_Location_Compensate_11_MinChanged();

    void Any_Location_Compensate_11_MaxChanged();

    void Any_Location_Compensate_11Changed();

    void Any_Location_Compensate_12_MinChanged();

    void Any_Location_Compensate_12_MaxChanged();

    void Any_Location_Compensate_12Changed();

    void Any_Location_Compensate_13_MinChanged();

    void Any_Location_Compensate_13_MaxChanged();

    void Any_Location_Compensate_13Changed();

    void Any_Location_Compensate_14_MinChanged();

    void Any_Location_Compensate_14_MaxChanged();

    void Any_Location_Compensate_14Changed();

    void Any_Location_Compensate_15_MinChanged();

    void Any_Location_Compensate_15_MaxChanged();

    void Any_Location_Compensate_15Changed();

    void Any_Location_Compensate_16_MinChanged();

    void Any_Location_Compensate_16_MaxChanged();

    void Any_Location_Compensate_16Changed();

    void Any_Location_Compensate_17_MinChanged();

    void Any_Location_Compensate_17_MaxChanged();

    void Any_Location_Compensate_17Changed();

    void Any_Location_Compensate_18_MinChanged();

    void Any_Location_Compensate_18_MaxChanged();

    void Any_Location_Compensate_18Changed();

    void Any_Location_Compensate_19_MinChanged();

    void Any_Location_Compensate_19_MaxChanged();

    void Any_Location_Compensate_19Changed();

    void Any_Location_Compensate_20_MinChanged();

    void Any_Location_Compensate_20_MaxChanged();

    void Any_Location_Compensate_20Changed();

    void ExtraLong_MaterialLengthChanged();

    void ExtraLong_MaterialLength_CompensateChanged();

    void ExtraShort_MaterialLengthChanged();

    void ExtraShort_CompensateChanged();

    void Pull_Back_DistanceChanged();

    void Corner_MaterialLengthChanged();

    void Corner_MaterialLength_MinChanged();

    void Corner_LengthChanged();

    void Corner_Cut_SegmentsChanged();

    void Corner_Knife_CompensateChanged();

    void Current_Corner_SegmentsChanged();

    void Worked_Corner_SegmentsChanged();

    void Handle_LocationChanged();

    void Handle_Location_CompensateChanged();

    void Handle_WidthChanged();

    void X0Changed();

    void X1Changed();

    void X2Changed();

    void X3Changed();

    void X4Changed();

    void X5Changed();

    void X6Changed();

    void X7Changed();

    void X10Changed();

    void X11Changed();

    void X12Changed();

    void X13Changed();

    void X14Changed();

    void X15Changed();

    void X16Changed();

    void X17Changed();

    void X20Changed();

    void X21Changed();

    void X22Changed();

    void Y0Changed();

    void Y1Changed();

    void Y2Changed();

    void Y3Changed();

    void Y4Changed();

    void Y5Changed();

    void Y6Changed();

    void Y7Changed();

    void Y10Changed();

    void Y11Changed();

    void Y12Changed();

    void Y13Changed();

    void Y14Changed();

    void Y15Changed();

    void Y16Changed();

    void Y17Changed();

    void Y20Changed();

    void Y21Changed();

    void Y22Changed();

    void Y23Changed();

    void Y24Changed();

    void Y25Changed();

    void M_42Changed();

    void M_43Changed();

    void M_47Changed();

    void M_52Changed();

    void M_56Changed();

    void M_57Changed();

    void M_58Changed();

    void M_59Changed();

    void M_64Changed();

    void M_68Changed();

    void M_69Changed();

    void M_73Changed();

    void M_76Changed();

    void M_77Changed();

    void M_80Changed();

    void M_134Changed();

    void M_137Changed();

    void M_143Changed();

    void M_149Changed();

    void M_152Changed();

    void M_153Changed();

    void M_159Changed();

    void M_164Changed();

    void M_170Changed();

    void M_196Changed();

    void M_197Changed();

    void M_250Changed();

    void M_251Changed();

    void M_252Changed();

    void Mechine_Saws_ModeChanged();

    void M_390Changed();

    void M_391Changed();

    void M_394Changed();

    void M_239Changed();

    void M_240Changed();

    void M_241Changed();

    void M_528Changed();

    void M_510Changed();

    void M_509Changed();

    void M_400Changed();

    void M_398Changed();

    void M_397Changed();

    void M_396Changed();

    void M_500Changed();

    void M_501Changed();

    void M_392Changed();

    void M_393Changed();

    void M_502Changed();

    void M_503Changed();

    void M_529Changed();

    void M_530Changed();

    void M_505Changed();

    void M_506Changed();

    void M_507Changed();

    void M_508Changed();

    void M_6Changed();

    void M_7Changed();

    void M_9Changed();

    void M_96Changed();

    void M_97Changed();

    void M_98Changed();

    void M_103Changed();

    void M_2Changed();

    void M_3Changed();

    void M_31Changed();

    void M_36Changed();

    void M_243Changed();

    void M_244Changed();

    void M_245Changed();

    void M_515Changed();

    void M_516Changed();

    void M_517Changed();

    void M_512Changed();

    void M_514Changed();

    void M_499Changed();

    void M_421Changed();

    void M_401Changed();

    void M_402Changed();

    void M_403Changed();

    void M_404Changed();

    void M_405Changed();

    void M_406Changed();

    void M_407Changed();

    void M_408Changed();

    void M_409Changed();

    void M_410Changed();

    void M_411Changed();

    void M_412Changed();

    void M_413Changed();

    void M_414Changed();

    void M_415Changed();

    void M_416Changed();

    void M_417Changed();

    void M_418Changed();

    void M_419Changed();

    void M_420Changed();

    void M_511Changed();

    void Printer_Material_LengthChanged();

    void Printer_Material_HeightChanged();

    void M_135Changed();

    void M_61Changed();

    void QR_List_CutLength_1Changed();

    void QR_List_CutCount_1Changed();

    void QR_List_CutCount_2Changed();

    void QR_List_CutCount_3Changed();

    void QR_List_CutCount_4Changed();

    void QR_List_CutCount_5Changed();

    void QR_List_CutCount_6Changed();

    void QR_List_CutCount_7Changed();

    void QR_List_CutCount_8Changed();

    void QR_List_CutCount_9Changed();

    void QR_List_CutCount_10Changed();

    void QR_List_CutCount_11Changed();

    void QR_List_CutCount_12Changed();

    void QR_List_CutCount_13Changed();

    void QR_List_CutCount_14Changed();

    void QR_List_CutCount_15Changed();

    void QR_List_CutCount_16Changed();

    void QR_List_CutCount_17Changed();

    void QR_List_CutCount_18Changed();

    void QR_List_CutCount_19Changed();

    void QR_List_CutCount_20Changed();

    void QR_List_WorkedCount_1Changed();

    void QR_List_WorkedCount_2Changed();

    void QR_List_WorkedCount_3Changed();

    void QR_List_WorkedCount_4Changed();

    void QR_List_WorkedCount_5Changed();

    void QR_List_WorkedCount_6Changed();

    void QR_List_WorkedCount_7Changed();

    void QR_List_WorkedCount_8Changed();

    void QR_List_WorkedCount_9Changed();

    void QR_List_WorkedCount_10Changed();

    void QR_List_WorkedCount_11Changed();

    void QR_List_WorkedCount_12Changed();

    void QR_List_WorkedCount_13Changed();

    void QR_List_WorkedCount_14Changed();

    void QR_List_WorkedCount_15Changed();

    void QR_List_WorkedCount_16Changed();

    void QR_List_WorkedCount_17Changed();

    void QR_List_WorkedCount_18Changed();

    void QR_List_WorkedCount_19Changed();

    void QR_List_WorkedCount_20Changed();

    void QR_List_Left_1Changed();

    void QR_List_Right_1Changed();

    void QR_List_Left_2Changed();

    void QR_List_Right_2Changed();

    void QR_List_Left_3Changed();

    void QR_List_Right_3Changed();

    void QR_List_Left_4Changed();

    void QR_List_Right_4Changed();

    void QR_List_Left_5Changed();

    void QR_List_Right_5Changed();

    void QR_List_Left_6Changed();

    void QR_List_Right_6Changed();

    void QR_List_Left_7Changed();

    void QR_List_Right_7Changed();

    void QR_List_Left_8Changed();

    void QR_List_Right_8Changed();

    void QR_List_Left_9Changed();

    void QR_List_Right_9Changed();

    void QR_List_Left_10Changed();

    void QR_List_Right_10Changed();

    void QR_List_Left_11Changed();

    void QR_List_Right_11Changed();

    void QR_List_Left_12Changed();

    void QR_List_Right_12Changed();

    void QR_List_Left_13Changed();

    void QR_List_Right_13Changed();

    void QR_List_Left_14Changed();

    void QR_List_Right_14Changed();

    void QR_List_Left_15Changed();

    void QR_List_Right_15Changed();

    void QR_List_Left_16Changed();

    void QR_List_Right_16Changed();

    void QR_List_Left_17Changed();

    void QR_List_Right_17Changed();

    void QR_List_Left_18Changed();

    void QR_List_Right_18Changed();

    void QR_List_Left_19Changed();

    void QR_List_Right_19Changed();

    void QR_List_Left_20Changed();

    void QR_List_Right_20Changed();

    void Current_QR_TypeChanged();

    void Current_List_OrderChanged();

    void MaterialLength_MaxChanged();

    void MaterialLength_MinChanged();

    void ExtraShort_MaxChanged();

    void ExtraShort_MinChanged();

    void ExtraLong_MaxChanged();

    void ExtraLong_MinChanged();

    void Material_Worked_Count_1Changed();

    void Material_Worked_Count_2Changed();

    void Material_Worked_Count_3Changed();

    void Material_Worked_Count_4Changed();

    void Material_Worked_Count_5Changed();

    void Material_Worked_Count_6Changed();

    void Material_Worked_Count_7Changed();

    void Material_Worked_Count_8Changed();

    void Material_Worked_Count_9Changed();

    void Material_Worked_Count_10Changed();

    void Material_Worked_Count_11Changed();

    void Material_Worked_Count_12Changed();

    void Material_Worked_Count_13Changed();

    void Material_Worked_Count_14Changed();

    void Material_Worked_Count_15Changed();

    void Material_Worked_Count_16Changed();

    void Material_Worked_Count_17Changed();

    void Material_Worked_Count_18Changed();

    void Material_Worked_Count_19Changed();

    void Material_Worked_Count_20Changed();

    void Current_Local_OrderChanged();

    void Log_FlagChanged();

public slots:

    // 读取 PLC 参数
    void read_PLC_Parameters();

    // 物理断联槽函数
    void errorOccurredSlots(QModbusDevice::Error error);

    // 读取当前写入的32位寄存器
    void on_Hold_Registers_32_Over_Read_Slots(int address);

    // 读取当前写入的16位寄存器
    void on_Hold_Registers_16_Over_Read_Slots(int address);

    // 读取扫码枪数据
    void  on_Scanner_Read_Result_Slots(const QByteArray& recvResult);
};

#endif // MODBUSCONTROL_H
